H******7 发帖数: 1728 | 1 看到有两个人po了这个了:2. Given N points, return the K points that are
closest tothe origin. Origin = (0, 0, 0) (N >> K) | H******7 发帖数: 1728 | 2 我的思路是 创建一个类,override一下compare函数
然后吧输入一股脑放进priority queue里。
然后一次取出k个。
有更优的方法么? | m*****g 发帖数: 71 | 3 我的想法,用一个数组保存距离(如果要求返回坐标,就要用楼上说的class),然后
用order stastics找第k小的距离,O(N)时间,O(N)空间。
用head的话是O(N)空间,O(N + KlogN)时间 | c****8 发帖数: 76 | | s****a 发帖数: 794 | 5 heap比k多了的时候 就可以往外弹肯定不是的了。logN变logK
【在 H******7 的大作中提到】 : 我的思路是 创建一个类,override一下compare函数 : 然后吧输入一股脑放进priority queue里。 : 然后一次取出k个。 : 有更优的方法么?
| G*****m 发帖数: 5395 | 6 O(NlogK) heap
or
O(N) quickslect, worsecase N^2
just 2cents
【在 H******7 的大作中提到】 : 看到有两个人po了这个了:2. Given N points, return the K points that are : closest tothe origin. Origin = (0, 0, 0) (N >> K)
|
|