2026/05/24

[LeetCode] 973 K Closest Points to Origin

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
class Solution {
public:
  vector<vector<int>> kClosest(vector<vector<int>>& points, int k) {
    vector<pair<int, int>> v;
    for (int i = 0; i < points.size(); i++) {
      int dis = points[i][0] * points[i][0] + points[i][1] * points[i][1];
      v.push_back(make_pair(dis, i));
    }
    sort(v.begin(), v.end());
    vector<vector<int>> ans;
    for (int i = 0; i < k; i++) 
      ans.push_back(points[v[i].second]);
    return ans;
  }
};