具体思想:
堆+排序得后面补,前N个问题全用的这两个思想;
简单排序也可以,但是性能会很低;
具体代码:
class Solution {
public:
bool static cmp(vector<int>& a,vector<int>& b){
return (a[0]*a[0]+a[1]*a[1])<(b[0]*b[0]+b[1]*b[1]);
}
vector<vector<int>> kClosest(vector<vector<int>>& points, int k) {
sort(points.begin(),points.end(),cmp);
points.resize(k);
return points;
}
};