解题方案:
var kClosest = function(points, K) {
var newArr = [], result=[];
points.map(function(item,index){
newArr.push({
index: index,
area: Math.pow(Math.abs(points[index][0]),2)+Math.pow(Math.abs(points[index][1]),2)
})
})
newArr.sort(function(a,b){
return a.area - b.area;
});
for(let i=0;i<K;i++){
result.push(points[newArr[i].index])
}
return result;
};
**解题思路:**最笨的循环加排序又来了
1、循环计算出每个点到原点的距离,存下来;
2、根据1中的距离排序;
3、循环输出K个点,结束;