题目
We have a list of points
on the plane. Find the K
closest points to the origin (0, 0)
.
(Here, the distance between two points on a plane is the Euclidean distance.)
You may return the answer in any order. The answer is guaranteed to be unique (except for the order that it is in.)
Example 1:
1 | Input: points = [[1,3],[-2,2]], K = 1 |
Example 2:
1 | Input: points = [[3,3],[5,-1],[-2,4]], K = 2 |
Note:
1 <= K <= points.length <= 10000
-10000 < points[i][0] < 10000
-10000 < points[i][1] < 10000
思路
TopK问题.
使用小根堆,用每个元素距离原点的距离和该坐标组成tuple放到list里,会按照第一个元素自动排序。
nsmallest可以直接取出最小的K个tuple.
代码
1 | class Solution(object): |