1+ def has_close_elements : Unit :=
2+ ()
3+
4+ /-!
5+ ## Prompt
6+
7+ ```python3
8+ from typing import List
9+
10+
11+ def has_close_elements(numbers: List[float], threshold: float) -> bool:
12+ """ Check if in given list of numbers, are any two numbers closer to each other than
13+ given threshold.
14+ >>> has_close_elements([1.0, 2.0, 3.0], 0.5)
15+ False
16+ >>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
17+ True
18+ """
19+ ```
20+
21+ ## Canonical solution
22+
23+ ```python3
24+ for idx, elem in enumerate(numbers):
25+ for idx2, elem2 in enumerate(numbers):
26+ if idx != idx2:
27+ distance = abs(elem - elem2)
28+ if distance < threshold:
29+ return True
30+
31+ return False
32+ ```
33+
34+ ## Tests
35+
36+ ```python3
37+
38+
39+ METADATA = {
40+ 'author': 'jt',
41+ 'dataset': 'test'
42+ }
43+
44+
45+ def check(candidate):
46+ assert candidate([1.0, 2.0, 3.9, 4.0, 5.0, 2.2], 0.3) == True
47+ assert candidate([1.0, 2.0, 3.9, 4.0, 5.0, 2.2], 0.05) == False
48+ assert candidate([1.0, 2.0, 5.9, 4.0, 5.0], 0.95) == True
49+ assert candidate([1.0, 2.0, 5.9, 4.0, 5.0], 0.8) == False
50+ assert candidate([1.0, 2.0, 3.0, 4.0, 5.0, 2.0], 0.1) == True
51+ assert candidate([1.1, 2.2, 3.1, 4.1, 5.1], 1.0) == True
52+ assert candidate([1.1, 2.2, 3.1, 4.1, 5.1], 0.5) == False
53+
54+ ```
55+ -/
0 commit comments