leetcode刷題隨筆

2021-10-04 16:18:00 字數 1478 閱讀 5052

map的優點:(1)map是有序的(2)基於紅黑樹實現,查詢的時間複雜度是o(n)

map的缺點:空間佔用率比較高,因為內部實現了紅黑樹,雖然提高了執行效率,但是每個節點都要儲存父親節點和孩子節點和紅黑樹的性質,使得每乙個節點都占用大量的空間。

適用的情況:對於要有序的結構,適用map

unordered_map的優點:因為內部是雜湊表來實現的,所以查詢效率會非常高。查詢的時間複雜度是o(1)

unordered_map的缺點:雜湊表的建立比較費時

適用的情況:對於查詢問題,適用unordered_map會更好一點。

輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)

輸出:7 -> 0 -> 8

原因:342 + 465 = 807

注意鍊錶指標的使用方法

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

if(flag) te->next=new listnode(1);

return ans->next;}};

給定乙個字串,請你找出其中不含有重複字元的最長子串的長度

用的是滑動視窗的方法:參考至這篇題解

這是我用vector、unordered_map和map用時的區別;

vectorq(128,-1);

這個定義陣列很牛啊,超級快,  這叫桶優化。

class solution 

if(j-i+1>maxlen)

}return maxlen;*/

/*int ll=0,rr=0,maxlen=0;

unordered_mapq;

int len=s.size();

for(int i=0;i=ll&&ll!=rr)//說明之前出現了

q[s[rr]]=rr;

if(rr-ll+1>maxlen)

rr++;

}return maxlen;*/

int ll=0,rr=0,maxlen=0;

//mapq;

//vectorq;

vectorq(128,-1);

int len=s.size();

for(int i=0;i=ll&&ll!=rr)//說明之前出現了

q[int(sr)]=rr;

if(rr-ll+1>maxlen)

rr++;

}return maxlen;}};

LintCode刷題隨筆

給出乙個陣列nums包含n 1個整數,每個整數是從1到n 包括邊界 保證至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。1.不能修改陣列 假設陣列只能讀 2.只能用額外的o 1 的空間 3.時間複雜度小於o n 2 4.陣列中只有乙個重複的數,但可能重複超過一次 您在真實的面試中是...

2020 02 22藍橋杯刷題隨筆

integer類中幾種方法 1.integer.max value 最大值 integer.min value 最小值 可用於比較大小 十進位制轉十六進製制 integer.tohexstring a touppercase 大寫 搭配使用 十六進製制轉十進位制 valueof string smi...

開始刷題LeetCode

今天決定開始刷題,每天至少一題,如果題目確實沒有解決出來沒有關係,但是要保證每天至少接觸了一道新的題目!一定要堅持下去,現在是個菜鳥可能會感覺有點難度,堅持下去,總有一天會好的!今天是第一天,做的第乙個題目 reverse words in a string given an input strin...