不知道這會持續幾天的 leetcode
Arrays & Hashing
217. Contains Duplicate
- Hash map
- Time Complexity $O(n)$
- Space Complexity $O(n)$
1 |
|
- 更簡短的寫法
1 |
|
242. Valid Anagram
- 算出兩者 a ~ z 的數量存到不同 vector,最後直接比較兩個 vector 是否一樣 (其實就 Hash map)
- Time Complexity $O(n + m)$
- Space Complexity $O(1)$
1 |
|
1. Two Sum
- Hash map
- Time Complexity $O(n)$
- Space Complexity $O(n)$
1 |
|
- 更簡短的寫法
vector<int>
可以省略耶 (wow
1 |
|
49. Group Anagrams
- 計算每個 string a ~ z 的數量,比較先前存的結果,沒有匹配的話就塞到新的 vector (超慢
- Time Complexity $O(n * m)$
- Space Complexity $O(n)$
1 |
|
- 用 hash map,把 sort 過的 string 當作 key
- Time Complexity $O(n * \mlg(m))$
- Space Complexity $O(n * m)$
1 |
|
347. Top K Frequent Elements
- 先存進 map ,再遍歷 map 的值,丟進 priority queue 裡面取出前 k 個 (快忘光 cmp 的語法了 qq,也可以直接用 greater
- Time Complexity $O(n\lg{n})$
- Space Complexity $O(n)$
1 |
|
- heap 那邊可以做一些優化,可以從小排到大,然後確保每次操作 heap 裡面都只有 k 個
- Time Complexity $O(n\lg{k})$
- Space Complexity $O(n)$
1 |
|
238. Product of Array Except Self
- 開兩個 vector 記錄左右兩邊一路乘過去的值,最後兩者相乘
- Time Complexity $O(n)$
- Space Complexity $O(n)$
1 |
|
36. Valid Sudoku
- 檢查每個 row、column、九宮格的情況
- Time Complexity $O(1)$
- Space Complexity $O(1)$
1 |
|
128. Longest Consecutive Sequence
- 檢查每個數字左右兩邊連續數字的數量,檢查過的要刪掉避免重複檢查
- Time Complexity $O(n)$
- Space Complexity $O(n)$
1 |
|
Two Pointers
125. Valid Palindrome
- 用左右兩個指針收縮,檢查是不是 Palindrome
1 |
|
不知道這會持續幾天的 leetcode
https://933yee.github.io/notes/2025/01/31/leetcode/