Please enable JavaScript.
Coggle requires JavaScript to display documents.
LeetCode - Coggle Diagram
LeetCode
題目
SingleNumber
找出數組中唯一數
XOR
A^A => 0
A^0 => A
A^B => B^A
HappyNumber
circle detection/ circle finding
龜兔賽跑
用時間換空間
避免查 history 中是否出現過
雙指標
找是否在無限循環
Maximum Subarray
動態規劃
在數組內找最優解
Move Zeroes
氣泡排序
雙指標法
把非0放前面,剩下的填0
Group Anagrams
排序後比對
找出同樣字元組
Best Time to Buy and Sell Stock ||
找賺最多的組合
Counting Elements
統計出現次數
使用 map 統計(圖靈法)
Space: O(range)
Time: O(arrSize)
排序
Space: O(1)
Time: O(arrSize*log(arrSize))
Middle of the Linked List
找 Linked List 中間
龜兔賽跑
全部輪詢完在/2
Backspace String Compare
特定操作後比對字串
stack
best:
Space: O(1)
Time: O(n)
雙指標,讀寫分離,先讀在寫
Min Stack
使用 size 指向最後
pop 只做 size --
優化min:一直維護最小值陣列
Last Stone Weight
記次法
heap
排序法
Contiguous Array
找連續相同次數的子陣列
累計圖
Perform String Shifts
會觀察就很簡單
壓縮成一次計算
使用到 size 空間
交換=切開後個別反轉在全部反轉
雙指標法
使用到一個 char 空間
Search in Rotated Sorted Array
二分法,在比對第一個決定找左邊右邊
Minimum Path Sum
找最小加總的路徑
DP,算過後記錄結果
概念
動態規劃 DP
全局最優解 = MAX(所有的局部最優解)
TLE / Time Limit Exceeded
五大演算法
分支界線法
回溯法
貪婪法
局部最佳解=全局最佳解
分治法
枚舉法
DFS/BFS
recurrence
遞迴分割問題時,當子問題與原問題完全相同,只有數值範圍不同,我們稱此現象為 recurrence
Sorting
QuickSort
Best: Log(n)*n
Worst: n*n
二元樹
選擇排序
目標
一層 ForLoop
Big(O) = N
https://visualgo.net/zh
1+2+3+4...+1000
(1+1000)*1000/2
金字塔算法
發現重複計算