遍历所有点与点的组合,根据题目要求计算它们的距离并更新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;
}
}

该博客介绍了一个算法实现,遍历一组点的坐标,计算每对点之间的欧几里得距离,并将距离的计数累加到结果中。最终结果翻倍考虑顺序,适用于寻找所有配对的总和。
297

被折叠的 条评论
为什么被折叠?



