Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int numberOfBoomerangs(vector<vector<int>>& points) {
- int res = 0;
- // iterate over all the points
- for (int i = 0; i < points.size(); ++i) {
- unordered_map<long, int> m;
- // iterate over all points other than points[i]
- for (int j = 0; j < points.size(); ++j) {
- if (j == i) continue;
- int dy = points[i][1] - points[j][1];
- int dx = points[i][0] - points[j][0];
- // compute squared euclidean distance from points[i]
- int dist = dy*dy+dx*dx;
- m[dist]++;
- }
- // Update answer
- for(auto& p : m)
- if(p.second > 1)
- res += p.second * (p.second - 1);
- }
- return res;
- }
- };
Add Comment
Please, Sign In to add comment