public int numberOfBoomerangs(int[][] points) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < points.length; i++) {
for (int j = 0; j < points.length; j++) {
int distance = getDistance(points[i], points[j]);
map.put(distance, map.getOrDefault(distance, 0) + 1);
for (Integer value : map.values()) {
res += value * (value - 1);
public int getDistance(int[] p1, int[] p2) {
return dx * dx + dy * dy;