linye's Blog

全端工程師心得分享

0%

[LeetCode]Data Structure I 筆記撰寫計畫

計畫: Data Structure I

前言

以前有曾經想要跟著 LeetCode 做他的 Daily Challenge ,但是後來發現裡面有些題目對我來說難度太高了,導致我可能一題難的要做三四個小時,這樣的狀況持續了大概兩個月之後我覺得不行,應該要換個學習方法,所以我就找到了 LeetCode 有這個 Study Plan ,我覺得很適合我這種初學者,於是從今天開始就照著這個學習計畫每天學習並把做到的題目紀錄在這個 Blog 上!

  • 跟著進度每天做答,並記錄在這個 Blog 上。
  • 如果半小時內沒有頭緒,就參考評論區的解法,力求半小時內解完一題!

05/30 第一天

今天的兩題題目都是 Easy ,第一題算簡單,第二題想了很久沒有想到做法,於是參考了一下評論區,可能是因為第一天寫,總共花費的時間有點多,希望明天會有進步~~

05/31 第二天

今天的兩題題目都是 Easy ,今天一樣花費了很多時間在解題,大概四小時,所以從今天起嘗試加入新規則,如果題目半小時沒有進展,就參考一下評論區的解法,力求快速的掌握解題手感!

06/01 第三天

  • Day3: Array

今天第一題算簡單,第二題算是我第一次接觸 Dynamic Programming ,所以卡了有點久,所幸最後算是有學到一點感覺~

06/02 第四天

今天我是先做第二題再做第一題,今天雖然提不太起勁做,但是第一題讓我第一次有真的只靠自己寫出 Dynamic Programming 的感覺,非常的棒,第二題的話,感覺他給的提示有點誤導,最後我有參考評論區,其實算是非常簡單。

06/06 第五天

距離上次寫這個計畫過了一個端午聯假,本來打算騎腳踏車上武嶺的,結果半路上被淋成了落湯雞zzz

今天是 Array 系列的最後一天,並且今天重磅祭出了兩題的 Medium ,但是實際做完的感覺… 好像沒有想像中的難嘛,
我覺得歸根究底還是因為這些題目都是一些比較早期出的題目,所以雖然是 Medium 但是邏輯其實都很好去想像。

今天第一題有稍微參考下評論區,不然我只想得出暴力解,事實證明評論區的解法也挺暴力,但比我本來想的好看多了,
第二題我花了10分鐘就做完了,出題者的邏輯還挺好猜的,今天解題很愉快~~

06/07 第六天

今天是 String 系列的第一天(其實也是最後一天,明天變成 Linked List 了),從今天開始很多題目都會變成一天三題,我要瘋啦!

今天三題都是差不多的模式,做出字串的 Hash Table ,然後再針對 Hash Table 去做處理。

第一題 387. First Unique Character in a String 跟第二題 383. Ransom Note 我都是用 JS Object 去做 Hash Table
第三題 242. Valid Anagram 則是使用 JS Map ,三題最後出來的成績差異有點大,
以後 Hash Table 我會盡量用 JS Map 來實做。

06/13 第七天

今天學的是 Linked List ,原理非常的好懂,但是實際在做的時候需要思路需要轉變一下,整體來說是非常有趣的資料節構。

09/22 Day 8 Linked List

206. 之前在Algorithm I 筆記撰寫計畫已經做過了~

09/23 Day 9 Linked List

09/27 Day 10 Tree

10/05 Day 11 Tree

  • 102. Binary Tree Level Order Traversal Easy 題目 筆記
  • 104. Maximum Depth of Binary Tree Easy 題目 筆記
  • 101. Symmetric Tree Easy 題目 筆記