最近花了兩週時間刷完 Leetcode 的 Arrays 101 🌸🌸🌸
對陣列有了更清楚的認識~
Leetcode 上面的內容整理得很方便學習:概念加上題組~
Array 概念:
1. 把 Array 想像成一個抽屜櫃:每個抽屜都有編號(index),可以放入或取出對應的物品。
2. 在使用上,陣列的基本操作大多圍繞著 search、sort、insert、delete
3. 而題目常見的挑戰是要 in-place 修改(不額外使用額外空間),並且要盡量控制在 O(n) 的時間複雜度。
回顧這些題型,我大概把它們分成幾個方向:
1. 由後往前的指標 → 適合處理覆蓋或需要右邊資訊的題目。
2. 排序類題目
3. 找特定 pattern → 找到之後再做 insert / delete / merge 等操作,有一題印象深刻的是:Valid Mountain Array(蠻可愛的題目)
4. 雙指標法
5. Set 的應用 → 幫助快速判斷元素是否出現,減少重複計算(可善用這個~才比較容易達到 follow-up 的要求)
Next : Array and String
最近花了兩週時間刷完 Leetcode 的 Arrays 101 🌸🌸🌸
對陣列有了更清楚的認識~
Leetcode 上面的內容整理得很方便學習:概念加上題組~
Array 概念:
1. 把 Array 想像成一個抽屜櫃:每個抽屜都有編號(index),可以放入或取出對應的物品。
2. 在使用上,陣列的基本操作大多圍繞著 search、sort、insert、delete
3. 而題目常見的挑戰是要 in-place 修改(不額外使用額外空間),並且要盡量控制在 O(n) 的時間複雜度。
回顧這些題型,我大概把它們分成幾個方向:
1. 由後往前的指標 → 適合處理覆蓋或需要右邊資訊的題目。
2. 排序類題目
3. 找特定 pattern → 找到之後再做 insert / delete / merge 等操作,有一題印象深刻的是:Valid Mountain Array(蠻可愛的題目)
4. 雙指標法
5. Set 的應用 → 幫助快速判斷元素是否出現,減少重複計算(可善用這個~才比較容易達到 follow-up 的要求)
Next : Array and String