題目:給定乙個陣列,求如果排序之後,相鄰兩數的最大差值,要求時間複雜度o(n),且要求不能用非基於比較的排序。
解題思路:借助桶排序
//
// created by yzm on 11/12/18.
//#include #include #includeusing namespace std;
class maxgap ;
int maxgap::maxgap(vector&arr)
//step3:
int gap = 0;
int lastmax = maxs[0];
int i=1;
for(; i <= len; i++)
}return gap;
}int maxgap::bucket(int &num, int &len, int min, int max)
int main()
; int a=p.maxgap(arr);
cout << "maxgap:"<< a << endl;
return 0;
}
相鄰最大差值
題目 請設計乙個複雜度為o n 的演算法,計算乙個未排序陣列中排序後相鄰元素的最大差值。給定乙個整數陣列a和陣列的大小n,請返回最大差值。designed by wyq 分析 這是乙個典型的利用桶排序求解問題,因為桶排序不少基於比較的排序可以打破nlogn的下限,可以達到題目要求的複雜度n 相鄰兩個...
相鄰最大差值 桶排序
請設計乙個複雜度為o n 的演算法,計算乙個未排序陣列中排序後相鄰元素的最大差值。給定乙個整數陣列a和陣列的大小n,請返回最大差值。保證陣列元素個數大於等於2小於等於500。測試樣例 9,3,1,10 4返回 6 簡單題 使用sort進行排序,時間複雜度非o n coding utf 8 class...
陣列排序後相鄰數的最大差值
題目 輸入n個數,求這n個數排序後,相鄰數的最大差值。要求時間複雜度為o n 我們可以用桶排序的思想,把n個數分到 n 1個桶中,然後我們用桶存連續長度的乙個範圍的數,每個桶負責的範圍是 maxn minn n maxn是序列中最大的數,minn是序列中最小的數 如果乙個數為num,那麼這個數應存進...