演算法 最接近原點的 K 個點

2021-10-10 09:26:20 字數 694 閱讀 9227

題目

我們有乙個由平面上的點組成的列表 points。需要從中找出 k 個距離原點 (0, 0) 最近的點。

(這裡,平面上兩點之間的距離是歐幾里德距離。)

例如:輸入:points = [[1,3],[-2,2]], k = 1

輸出:[[-2,2]]

分析

如題也就是說,求出前k個離 (0,0)最近的點。

那就要排序。

距離如何排序?先用勾股定理求出距離。

ok,思路好了,接下來就是**

class

solution

; temp.

add(item);}

// 排序方法

temp.

sort

(new

comparator()

});// 組織返回值

int[

] res =

newint

[k][2]

;for

(int i=

0;i)return res;

}// 求距離的函式

public

float

getdistance

(int

point)

}

最接近原點的K個點

我們有乙個由平面上的點組成的列表points。需要從中找出k個距離原點 0,0 最近的點。這裡,平面上兩點之間的距離是歐幾里德距離。你可以按任何順序返回答案。除了點座標的順序之外,答案確保是唯一的。輸入 points 1,3 2,2 k 1 輸出 2,2 解釋 1,3 和原點之間的距離為 sqrt ...

973 最接近原點的 K 個點

我們有乙個由平面上的點組成的列表points。需要從中找出k個距離原點 0,0 最近的點。這裡,平面上兩點之間的距離是歐幾里德距離。你可以按任何順序返回答案。除了點座標的順序之外,答案確保是唯一的。示例 1 輸入 points 1,3 2,2 k 1 輸出 2,2 解釋 1,3 和原點之間的距離為 ...

973 最接近原點的 K 個點

輸入資料樣本很少 直接排序 def kclosest self,points list list int k int list list int dis for i,point in enumerate points i,point 0 2 point 1 2 mdis sorted dis,key...