相鄰兩數最大差值

2021-07-09 09:45:05 字數 898 閱讀 2668

有乙個整形陣列a,請設計乙個複雜度為o(n)的演算法,算出排序後相鄰兩數的最大差值。

給定乙個int陣列aa的大小n,請返回最大的差值。保證陣列元素多於1個。

測試樣例:

[1,2,5,4,6],5
返回:2

基於桶排序的思想完成,不考慮兩個相同的桶內的差值,只考慮該桶的最小值減去上乙個桶的最大值,最大的就是最大值。public class gap

int len = nums.length;

int min = integer.max_value;

int max = integer.min_value;

//找出最大值和最小值

for (int i = 0; i < len; i++)

if (min == max)

boolean hasnum = new boolean[len + 1];

int maxs = new int[len + 1];

int mins = new int[len + 1];

int bid = 0;

for (int i = 0; i < len; i++)

int res = 0;

int lastmax = 0;

int i = 0;

while (i <= len)

}for (; i <= len; i++)

}return res;

}// 使用long型別是為了防止相乘時溢位

public int bucket(long num, long len, long min, long max)

}

相鄰兩數最大差值

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

相鄰兩數最大差值

有乙個整形陣列a,請設計乙個複雜度為o n 的演算法,算出排序後相鄰兩數的最大差值。給定乙個int陣列a和a的大小n,請返回最大的差值。保證陣列元素多於1個。測試樣例 1,2,5,4,6 5 返回 2 要求演算法複雜度為o n 一般的比較排序演算法是做不到的,這用到了桶排序的思想,思路首先尋找整個陣...

相鄰兩數最大差值

有乙個整形陣列a,請設計乙個複雜度為o n 的演算法,算出排序後相鄰兩數的最大差值。給定乙個int陣列a和a的大小n,請返回最大的差值。保證陣列元素多於1個。測試樣例 1,2,5,4,6 5返回 2 牛課上的練習題,現在把 貼出來 class gap int dis max min n 區間間隔 i...