用哈希表存储每个点与所有点的距离,每个点计算一次val*(val-1)
class Solution {
public:
int numberOfBoomerangs(vector<vector<int>>& points) {
int res=0;
for(int i=0;i<points.size();i++) {
unordered_map<int,int> m;
for(int j=0;j<points.size();j++) {
int dx=points[i][0]-points[j][0];
int dy=points[i][1]-points[j][1];
m[dx*dx+dy*dy]++;
}
for(auto i:m) {
res+=i.second*(i.second-1);
}
}
return res;
}
};