K Closest Points to Origin C2
🧩 Syntax:
class Solution {
public:
vector<vector<int>> kClosest(vector<vector<int>>& points, int k) {
vector<pair<double, int>> a(points.size());
for (int i = 0; i < points.size(); ++i) {
a[i] = {-pow(points[i][0], 2) - pow(points[i][1], 2), i};
}
make_heap(a.begin(), a.end());
vector<vector<int> > res;
while (k--) {
res.push_back(points[a[0].second]);
pop_heap(a.begin(), a.end());
a.pop_back();
}
return res;
}
};