相鄰最大差值

2021-07-10 15:46:51 字數 698 閱讀 1463

題目:

請設計乙個複雜度為o(n)的演算法,計算乙個未排序陣列中排序後相鄰元素的最大差值。

給定乙個整數陣列a和陣列的大小n,請返回最大差值。

**:/*designed by wyq

*分析:

* 這是乙個典型的利用桶排序求解問題,因為桶排序不少基於比較的排序可以打破nlogn的下限,

* 可以達到題目要求的複雜度n

* 相鄰兩個數差值最大 肯定大於平均值 平均值就是桶的長度 9,3,1,10

* 計算桶的長度

* length = (max-min)/(n-1)

* count = (max-min)/length+1; count=3 即[1,4)[4,7)[7,10)[10,13)

** */

public int findmaxdivision(int a, int n) {

int min = integer.max_value;

int max = integer.min_value;

int count = 0;

int length = 0;

for (int i = 0; i < n; i++) {

min = min>a[i]?a[i]:min;

max = maxmaxbucket[j]?a[i]:maxbucket[j];

minbucket[j]=a[i]

相鄰兩數最大差值

有乙個整形陣列a,請設計乙個複雜度為o n 的演算法,算出排序後相鄰兩數的最大差值。給定乙個int陣列a和a的大小n,請返回最大的差值。保證陣列元素多於1個。測試樣例 1,2,5,4,6 5返回 2 基於桶排序的思想完成,不考慮兩個相同的桶內的差值,只考慮該桶的最小值減去上乙個桶的最大值,最大的就是...

相鄰兩數最大差值

有乙個整形陣列a,請設計乙個複雜度為o n 的演算法,算出排序後相鄰兩數的最大差值。給定乙個int陣列a和a的大小n,請返回最大的差值。保證陣列元素多於1個。測試樣例 1,2,5,4,6 5返回 2 解析 使用bucket排序思想,把大小為n的陣列分成 max min n個區間,顯然這個區間是1 n...

相鄰最大差值 桶排序

請設計乙個複雜度為o n 的演算法,計算乙個未排序陣列中排序後相鄰元素的最大差值。給定乙個整數陣列a和陣列的大小n,請返回最大差值。保證陣列元素個數大於等於2小於等於500。測試樣例 9,3,1,10 4返回 6 簡單題 使用sort進行排序,時間複雜度非o n coding utf 8 class...