遍历所有点与点的组合,根据题目要求计算它们的距离并更新map,
将map原有数值累加到ans中,最后考虑顺序问题乘2
class Solution {
public int numberOfBoomerangs(int[][] points) {
int ans = 0;
for (int[] ints : points) {
Map<Integer, Integer> mp = new HashMap<>();
for (int[] point : points) {
int sum = (ints[0] - point[0]) * (ints[0] - point[0]) +
(ints[1] - point[1]) * (ints[1] - point[1]);
int val = mp.getOrDefault(sum, 0);
ans += val;
mp.put(sum, val + 1);
}
}
return ans << 1;
}
}