leetcode 719 找出第 k 小的距離對

2021-09-17 18:32:10 字數 569 閱讀 4609

描述

給定乙個整數陣列,返回所有數對之間的第 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很小,比如第五個最大的數,而整個陣列的長度非常的大,那麼,還有一種方法就是,我...