桶排序對應的很多都是困難題哦;
例子:對0-60的陣列進行排序
例子:對應leetcode-164給定乙個陣列,求如果排序之後,相鄰兩數的最大差值,要求時間複雜度0(n),且要求不能用非基於比較的排序
public
intmaximumgap
(int
nums)
if(max == min)
boolean
hasnum =
newboolean
[len+1]
;int
maxs =
newint
[len+1]
;int
mins =
newint
[len+1]
;int bid =0;
//表示桶的位數
for(
int i =
0; i < len; i++
)int res =0;
int lastmax = maxs[0]
;int i =1;
for(
; i <= len; i++)}
return res;
}public
intbucket
(long num,
long len,
long min,
long max)
左神演算法整理筆記02
引例 利用查詢陣列最大值 思想步驟 public static void sortprocess int arr,int left,int right public static void merge int arr,int left,int mid,int right 當其中有乙個越界的時候 wh...
左神演算法講堂筆記 05 樹
非遞迴遍歷有點難,目前只能讀懂 裡面的精髓還未真正參透。先序遍歷 不斷地把根入棧,再取出來輸出 根左右,那麼先入棧的肯定是根,要保證輸出左子樹,再輸出右子樹,那麼就要先入棧右子樹。void preorderunrecur node head if node.left null 中序遍歷 必須左子樹走...
左神演算法筆記01
對數器異或工具 一些其它的位運算子的操作 簡單理解為 將乙個演算法的所有操作拆成基本操作 常數時間完成的操作 後,計算出操作次數和操作時間 可視為1 的乘積,即操作次數之和。在考慮最差情況時用o 來表示時間複雜度,取最高項來表示。如o n o logn 對n個數進行排列,則最差要進行1 2 3 n ...