LeetCode
LeetCode 75: Sort Colors
·1 分鐘
LeetCode
Medium
Array
Two-Pointers
Sorting
Quicksort
LeetCode 75 解題筆記:荷蘭國旗:low 左邊都是 0、high 右邊都是 2;遇到 2 換到 high 之後不要前進,換過來的數還沒檢查
LeetCode 74: Search a 2D Matrix
·1 分鐘
LeetCode
Medium
Array
Binary-Search
Matrix
LeetCode 74 解題筆記:每列接上一列是完整排序的,把矩陣當成長度 m × n 的一維陣列二分,mid 換成 (mid // n, mid % n)
LeetCode 73: Set Matrix Zeroes
·1 分鐘
LeetCode
Medium
Array
Hash-Table
Matrix
LeetCode 73 解題筆記:先記下哪些列、哪些欄有 0,掃完之後再一起改;進階用第一列、第一欄當標記
LeetCode 71: Simplify Path
·1 分鐘
LeetCode
Medium
String
Stack
LeetCode 71 解題筆記:用 / 切開,空字串和 . 跳過,.. 就 pop(根目錄不能再往上),其他名稱 push,最後用 / 接起來
LeetCode 61: Rotate List
·1 分鐘
LeetCode
Medium
Linked-List
Two-Pointers
LeetCode 61 解題筆記:先算長度並接成環,k %= n,從頭走 n - k - 1 步找到新的尾巴再斷開
LeetCode 59: Spiral Matrix II
·1 分鐘
LeetCode
Medium
Array
Matrix
Simulation
LeetCode 59 解題筆記:跟 LC 54 一樣維護四個邊界,只是把讀取換成依序填入 1 到 n²
LeetCode 57: Insert Interval
·1 分鐘
LeetCode
Medium
Array
LeetCode 57 解題筆記:把區間分成三組:完全在左邊的、完全在右邊的、和新區間重疊的;重疊的合併成一個
LeetCode 56: Merge Intervals
·1 分鐘
LeetCode
Medium
Array
Sorting
Quicksort
LeetCode 56 解題筆記:按起點排序,新區間的起點 <= 結果最後一個的終點就合併(終點取 max),否則另開一個
LeetCode 54: Spiral Matrix
·1 分鐘
LeetCode
Medium
Array
Matrix
Simulation
LeetCode 54 解題筆記:維護上下左右四個邊界,依序走右、下、左、上,每走完一邊就把那個邊界往內縮
LeetCode 49: Group Anagrams
·1 分鐘
LeetCode
Medium
Array
Hash-Table
String
Sorting
LeetCode 49 解題筆記:把每個字串排序後當成 key,同一個 key 的字串就是同一組 anagram
LeetCode 47: Permutations II
·1 分鐘
LeetCode
Medium
Array
Backtracking
Sorting
LeetCode 47 解題筆記:先排序,同一層如果跟前一個值相同而且前一個還沒被用,就跳過
LeetCode 46: Permutations
·1 分鐘
LeetCode
Medium
Array
Backtracking
LeetCode 46 解題筆記:每一層從還沒用過的數裡選一個,用 used 陣列標記,path 滿了就記錄