LeetCode

Sep.18 Mon

  1. Implement strStr()
    【i在外面,i< haystack - needle + 1】
    【 haystack(i + j) != needle(j)】

Sep.19 Tue

【155】 Min Stack
法1.用兩個stack溉仑,其中minstack來【保留min】
法2.用一個stack桥胞,每次push gap,這個gap是min之間的。
【232】 Implement Queue using Stacks

Oct.2 Mon
舊題:

55.Jump Game
62.Unique Paths
63.Unique Paths II
64.Minimum Path Sum
70.Climbing Stairs
120.Triangle 【Check一下時間復雜度分析签夭,還有memories怎么回事】

Oct.9 Mon
舊題:

45.Jump Game 2
【1.i只用到len-1. 2貪心算法,從begin到end昌渤,取能跳的最遠步數去跳赴穗,when reach end,we must jump】

300.Longest Increasing Subsequence
【1.Brute Force :
Time complexity : O(2^n). Size of recursion tree will be 2^n
Space complexity : O(n^2). memo array of size n * n
2.Recursion with memorization
Time complexity : O(n^2)
Space complexity : O(n^2).
3.DP :Time complexity : O(n^2)
Space complexity : O(n).
4.DP+ binarySearch:】

以下題目為:DFS

78.subsets
90.subsets 2
【查重原方法】//千萬別寫成 i != 0比較了。
if (i != startIndex && nums[i]==nums[i-1]) { continue; }
【查重MY方法】
if(!result.contains(list)){result.add(new ArrayList<>(list));}
46.Permutations
【不能完全按照subset來做般眉,因為3要放到1前面去啊】
【讓3打頭的方法:只要i不加1 就了赵!行!了甸赃!柿汛,list.contains 去check】
47.Permutations 2
【查重原方法】1.用boolean[] 存是否用了這個數。2.此數用過就不用了埠对。3.此數若和前一個數相等络断,且前一個數沒有用過,則此數不能用项玛。
125.Valid Palindrome
【1.Character.isLetterOrDigit(cHead) 】
【2.Character.toLowerCase(cHead)】
131.Palindrome Partitioning
39.Combination Sum
40.Combination Sum II
【神句:if( i > index && nums[i] == nums[i - 1]){continue;}】【體會這個i>index 的意思貌笨,不僅僅是說i!=0稍计,而是表達了此時是新的開頭了躁绸! 但數字重復了】【查重MY方法:既用boolean[]used, 又放了index=====》不放index的話,3會打頭呀】

【*】140.word break 2
【1.HashMap(目的是為了memories臣嚣,加速) 2. str.startWith(String) 】

以下題目為:from j to i 【Two pointer】

139.Word Break

   //hint 1: DP: boolean
   //hint 2 : from j to i
   //hint 3 : dict.contains, s.substring is 小寫
  // substring不是index>还巍!所以i必須到達length  `

以下題目為:二維格子

Distinct Subsequences
【"a" "" ans: 1】 s是“a”
【“” "a" ans: 0】
這就是s這一豎條全是1硅则,t這一豎條全是0的原因淹父。
【dp[i][j]表示的是:T.from(0,j) 在S.from(0,i) 里出現了幾次】
意思就是:if(S.i ) = (T.j),
dp[i][j] = 沒有算S.i時,T.j 已經出現過的次數(也就是 dp(i-1,j) ) 加上
用S.i來湊T.j 怎虫,那么之前的T.j就不能算了暑认,只能算到T.(j)

Palindrome Partitioning 2
Edit Distance
97.Interleaving String
【法一、Memo + Recursion大审, 每次迭代的是:去掉s1的第i個后蘸际,s1.substring(i) //當然,寫法肯定不是這樣 】
【法二徒扶、DP 二維格子】:
想清楚dp[i][j] is true 的含義: 接了i個s1粮彤,第j個接的s2,true
也就是說姜骡,現在我們再接的必須是s2暗挤亍!
if dp( i-1 , j ) = true, then compare S1(i-1) vs S3(i+j -1);
if dp(i , j - 1) = true, then compare S2.(j - 1) vs S3(i + j - 1);
注意外圍橫豎都多加了一行圈澈,所以i j 得取到=length()
所以對于s1 和s2的index來說惫周,就要一直i-1,j-1
【法三 DP with 1維】 : 既然是逐行掃描的康栈,當然就可以以s2的長度來做一維

Longest Common Substring
Longest Common Subsequence

Oct.17 Tue
【新題】
29.Divide Two Integers
621.Task Scheduler

【lintcode】
Add Binary
【1. i>= 0 || j>= 0】
【2. 個位:取%递递, 十位:取/】
94.Binary Tree Inorder Traversal
102.Binary Tree Level Order Traversal
38.Count and Say
【StringBuilder sb = new StringBuilder()】
【char[] array = s.toCharArray() 】
【while(for int i (while(i) ) )】
【sb.append(count + String.valueOf(array[i]) ) 】
Merge Sorted Array
【3個while喷橙,from end to start ====>避免move!】
200.Number of Islands
【1.dfs】
【2.搜到的全部true變false】
Remove Duplicates from Sorted Array II
Reverse Linked List【prev 漾狼,current重慢,next饥臂,current必須要到null逊躁,所以return的是prev】

  1. Reverse Linked List II
    【1.把后面所有的都是往pre和start中間插入】
    【2、記住prev和start的位置都是不變的隅熙,變的只有then】
    【3.一定是Then.next = pre.next, 而不是=start稽煤, 因為你是往pre的后面插入!】
    1.Two Sum
    【One hashmap囚戚, check map.contains(temp),which temp= target - nums[i]】
  2. Sqrt(x)
    【1. 用二分法酵熙。 2 .start from 1 not 0】

Oct 20
Nearest Exit
【dfs/bfs】

Oct 22
Anagrams【hashmap sort string】
278.First Bad Version

  1. Search in Rotated Sorted Array 【分兩種情況以后,討論target的范圍一定兩頭都要驰坊!】
    81.Search in Rotated Sorted Array II
    240.Search a 2D Matrix II【從左下角匾二,>target,y--,< target,x++】
  2. Rotate Array【三步翻轉法】
    【No-Recursion:】
    BST preorder
    BST inorder
    BST postorder
    【Morris:???】
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拳芙,隨后出現的幾起案子察藐,更是在濱河造成了極大的恐慌,老刑警劉巖舟扎,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件分飞,死亡現場離奇詭異,居然都是意外死亡睹限,警方通過查閱死者的電腦和手機譬猫,發(fā)現死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來羡疗,“玉大人染服,你說我怎么就攤上這事。” “怎么了舶得?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵五辽,是天一觀的道長。 經常有香客問我诚亚,道長,這世上最難降的妖魔是什么午乓? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任站宗,我火速辦了婚禮,結果婚禮上益愈,老公的妹妹穿的比我還像新娘梢灭。我一直安慰自己夷家,他們只是感情好,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布敏释。 她就那樣靜靜地躺著库快,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钥顽。 梳的紋絲不亂的頭發(fā)上义屏,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音蜂大,去河邊找鬼闽铐。 笑死,一個胖子當著我的面吹牛奶浦,可吹牛的內容都是我干的兄墅。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼澳叉,長吁一口氣:“原來是場噩夢啊……” “哼隙咸!你這毒婦竟也來了?” 一聲冷哼從身側響起成洗,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤五督,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后泌枪,有當地人在樹林里發(fā)現了一具尸體概荷,經...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年碌燕,在試婚紗的時候發(fā)現自己被綠了误证。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡修壕,死狀恐怖愈捅,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情慈鸠,我是刑警寧澤蓝谨,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站青团,受9級特大地震影響譬巫,放射性物質發(fā)生泄漏。R本人自食惡果不足惜督笆,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一芦昔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娃肿,春花似錦咕缎、人聲如沸珠十。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焙蹭。三九已至,卻和暖如春嫂伞,著一層夾襖步出監(jiān)牢的瞬間孔厉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工末早, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烟馅,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓然磷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親刊驴。 傳聞我的和親對象是個殘疾皇子姿搜,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內容