Leetcode 973. K Closest Points to Origin
Given an array of?points
?where?points[i] = [xi, yi]
?represents a point on the?X-Y?plane and an integer?k
, return the?k
?closest points to the origin?(0, 0)
.
The distance between two points on the?X-Y?plane is the Euclidean distance (i.e.,?√(x1?- x2)2?+ (y1?- y2)2
).
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:

Input: points = [[1,3],[-2,2]], k = 1
Output: [[-2,2]]
Explanation:The distance between (1, 3) and the origin is sqrt(10). The distance between (-2, 2) and the origin is sqrt(8). Since sqrt(8) < sqrt(10), (-2, 2) is closer to the origin. We only want the closest k = 1 points from the origin, so the answer is just [[-2,2]].
Example 2:
Input: points = [[3,3],[5,-1],[-2,4]], k = 2
Output: [[3,3],[-2,4]]
Explanation: The answer [[-2,4],[3,3]] would also be accepted.
?
Constraints:
1 <= k <= points.length <= 104
-104?< xi, yi?< 104
中等難度,返回距離0最近的k個點,不論順序,就是求每個點的長度,然后把index保存住,排序,然后把前k個放到數(shù)組里面, 返回即可;
因為是平方,所以擔(dān)心的是int類型溢出的問題,所以使用了long的數(shù)組保存距離了。
Runtime:?36 ms, faster than?63.44%?of?Java?online submissions for?K Closest Points to Origin.
Memory Usage:?50.9 MB, less than?36.51%?of?Java?online submissions for?K Closest Points to Origin.