Skip to content

Commit 2687cd2

Browse files
solves boomeramg
1 parent 0d61354 commit 2687cd2

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

src/NumberOfBoomerangs.java

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import java.util.HashMap;
2+
import java.util.Map;
3+
4+
public class NumberOfBoomerangs {
5+
public int numberOfBoomerangs(int[][] points) {
6+
if (points.length == 0) {
7+
return 0;
8+
}
9+
10+
int boomerangs = 0;
11+
Map<Integer, Integer> distances = new HashMap<>();
12+
13+
for (int i = 0; i < points.length; i++) {
14+
for (int j = 0 ; j < points.length; j++) {
15+
if (i == j) {
16+
continue;
17+
}
18+
19+
int distance = getDistance(points[i], points[j]);
20+
distances.put(distance, distances.getOrDefault(distance, 0) + 1);
21+
}
22+
23+
for (int frequency : distances.values()) {
24+
boomerangs += frequency * (frequency - 1);
25+
}
26+
distances.clear();
27+
}
28+
29+
return boomerangs;
30+
}
31+
32+
private int getDistance(int[] point1, int[] point2) {
33+
int x_diff = point1[0] - point2[0];
34+
int y_diff = point1[1] - point2[1];
35+
return x_diff * x_diff + y_diff * y_diff;
36+
}
37+
}

0 commit comments

Comments
 (0)