描述
給定乙個整數陣列,返回所有數對之間的第 k 個最小距離。一對 (a, b) 的距離被定義為 a 和 b 之間的絕對差值。
示例 1:
2 <= len(nums) <= 10000.
0 <= nums[i] < 1000000.
1 <= k <= len(nums) * (len(nums) - 1) / 2.
思路桶排序
class
solution
}for
(int i =
0; i < n;
++i)
return-1
;}};
二分法
class
solution
return ans;
}int
smallestdistancepair
(vector<
int>
& nums,
int k)
return l;}}
;
參考:
桶排序:
719 找出第 k 小的距離對(二分查詢)
1.問題描述 給定乙個整數陣列,返回所有數對之間的第 k 個最小距離。一對 a,b 的距離被定義為 a 和 b 之間的絕對差值。示例 1 輸入 nums 1,3,1 k 1 輸出 0 解釋 所有數對如下 1,3 2 1,1 0 3,1 2 因此第 1 個最小距離的數對是 1,1 它們之間的距離為 0...
找出第K小的數
題目描述 查詢乙個陣列的第k小的數,注意同樣大小算一樣大。如 2 1 3 4 5 2 第三小數為3。輸入 輸入有多組資料。每組輸入n,然後輸入n個整數 1 n 1000 再輸入k。輸出 輸出第k小的整數。樣例輸入 6 2 1 3 5 2 2 3 樣例輸出 3 void swap int e1,int...
找出第k大的數
問題 從乙個陣列裡面,找出第k大的數。題目很簡單,要想把第k個數找出來,其實也挺容易的。第一種方法 無非就是先排序,比如用merge sort演算法,整個演算法複雜度為 o nlgn 然後找到第k個即可。第二種方法 如果k很小,比如第五個最大的數,而整個陣列的長度非常的大,那麼,還有一種方法就是,我...