計畫: Algorithm I
前言
演算法(algorithm),在數學(算學)和電腦科學之中,為任何良定義的具體計算步驟的一個序列,常用於計算、資料處理和自動推理。精確而言,演算法是一個表示爲有限長,列表的有效方法。演算法應包含清晰定義的指令,用於計算函式。
事情是這樣的,我剛完成 Data Structure I 筆記撰寫計畫
裡的 Day7: Linked List ,但重新整理清單之後,我的題目就被重置了,
原來是 LeetCode 強制規定這些計畫必須要在計劃時間內全部做完,不然就要重做,
我剛好在最後一天做完一半的題目,所以接下來的題目要再等七天才能做了,所以我就來換做 演算法 ~
規則大致相同:
- 跟著進度每天做答,並記錄在這個 Blog 上。
- 如果半小時內沒有頭緒,就參考評論區的解法,力求半小時內解完一題!
06/13 Day 1: Binary Search
- 704. Binary Search
Easy
題目 筆記 - 278. First Bad Version
Easy
題目 筆記 - 35. Search Insert Position
Easy
題目 筆記
今天學了 Binary Search ,三題做完有由不懂到懂的感覺,所以你也可以發現我的成績是慢慢成長的,第二題小卡關,所以最後有參考評論區,整體來說有學到東西,非常好學習~
06/14 Day 2 Two Pointers
今天雖然題目是 Two Pointers ,但是使用的解法完全沒有學到 Two Pointers 呢,之後再補上吧~
06/15 Day 3 Two Pointers
第一題 283. Move Zeroes 自己只想出了內建函式的快速寫法,想不到怎麼用 Two Pointers 寫,於是參考了下評論區,雖然寫出來了,不過思路果然很難猜到,再努力吧~
第二題 167. Two Sum II
有想過兩種做法
- 兩個指針分別從頭跟尾開始遍歷
- 先找到中間,然後從中間開始往頭尾遍歷
但是最後都沒寫出來,快升天了,最後參考了一下評論區的做法,的確是從頭尾開始,但是一次只動一個指針,運用的是題目兩個數字加起來等於答案,且第一個數字一定小於第二個數字的特性。
06/16 Day 4 Two Pointers
這次的筆記 06/16 就寫好了,但拖到 06/24 才上線,假日去參加了 kuso game jam 2022 ,最後做出來的 game 果然也很糞,還有隊友喝太多一直狂吐,在這邊 shout out to 我兄弟大狗。
06/24 Day 5 Two Pointers
今天是 Two Pointers 最後一天,今天的題目反而我覺得比較簡單,可能是因為 Linked List 的結構非常好懂吧~
對 Linked List 有一點認識的人可以先看第二題,看不懂再去看第一題。
08/15 Day 6 Sliding Window
- 3. Longest Substring Without Repeating Characters
Medium
題目 筆記 - 567. Permutation in String
Medium
題目 筆記
08/29 Day 7 Breadth-First Search / Depth-First Search
08/30 Day 8 Breadth-First Search / Depth-First Search
09/05 Day 9 Breadth-First Search / Depth-First Search
09/01 Day 10 Recursion / Backtracking
第一題之前在 Data Structure I 也有做到,這次就來補充其他寫法。
09/05 Day 11 Recursion / Backtracking
- 77. Combinations
Medium
題目 筆記 - 46. Permutations
Medium
題目 筆記 - 784. Letter Case Permutation
Medium
題目 筆記