20 11 26 leetcode164 基數排序

2022-03-11 13:13:05 字數 552 閱讀 6036

題意:給乙個無序的陣列,讓你求排完序後的陣列,相鄰兩值的差值最大為多少,時間和空間複雜度要求線性(o(n))。

分析:主要是排序,像快排和歸併排序都是o(nlogn)的,不滿足要求,這裡可以用基數排序,基數排序的話就是先按個位排序,再按十位,然後百位...等所有位都排完後,便是排好序的陣列了。具體到**部分,cnt存的就是當前位為0-9的個數,cnt[i]+=cnt[i-1]這一步其實就是內部的排序,因為當前位數更大的在後面,然後就沒什麼可說的了,直接看**把。

class

solution

for(int i=1;i<10;i++)cnt[i]+=cnt[i-1

];

for(int i=n-1;i>=0;i--)

copy(buf.begin(),buf.end(),nums.begin());

exp*=10

; }

int ret=0

;

for(int i=1;i)

//coutret;

}};

leetcode題目。題號1

題目描述 給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 解題思路 迴圈遍歷所有可能,每一次判斷是否與...

leetcode 鍊錶1

given a singly linked list l l 0 l1 l n 1 l n,reorder it to l 0 ln l1 l n 1 l 2 ln 2 you must do this in place without altering the nodes values.for e...

leetcode 括號生成 1

題目鏈結 給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。例如,給出 n 3,生成結果為 我的方法,dfs,然後再n 1層上 的前面和後面分別新增括號 另外,這個總數是第n個卡塔蘭數 dfrac binomn 11 n2n class solution el...