原题地址:https://leetcode.com/problems/k-closest-points-to-origin/
题目:离原点最近的K个点
有一个平面上一堆点的列表。找到离原点(0,0)最近的K个点。距离用欧几里得距离计算。顺序无所谓。
例一
输入: points = [[1,3],[-2,2]], K = 1 输出: [[-2,2]] 解释: (1, 3)和原点的距离是sqrt(10)。 (-2, 2)和原点的距离是sqrt(8)。 因为sqrt(8) < sqrt(10),所以(-2, 2)最接近原点。
例二
输入: points = [[3,3],[5,-1],[-2,4]], K = 2 输出: [[3,3],[-2,4]]
我的实现方式很简单,建立了一个类distance,包含距离和数组中点的索引。然后一边循环,算出所有的距离,然后根据距离排序,然后输出结果。只需要输出K个元素,用堆来做可能会更快,懒得尝试了。

耗时36 ms快于46.32%的Java代码。
代码地址:https://github.com/tinyfool/leetcode/tree/master/src/p0973
其他排序相关题目,参照排序主题。