iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 30
0
Software Development

你總是躲不掉的,不如放膽面對 LeetCode 吧!系列 第 31

完結心得

比起去年,今年給我更大的衝擊與感觸,不光是因為團體賽沒有達標,而是因為挑戰的過程中,與當初設想的情境有所差別,到最後選擇撰寫自己有把握的內容,回頭來看,品質堪憂啊。

在完賽的這天,列出幾點光於我個人的體悟:

邊學邊寫的難點

這點我排在第一順位,資料結構與演算法,是不可能在當天完全理解與吸收的,在有限的時間下,我選擇依賴 GeekForGeeks 的範例,對我來說是增加語言的熟練度,對讀者來說反倒是沒必要的篇章。當我注意到這件事時已經來到第二十天,雖然前面走歪了,後面十天的內容我希望能掌握在如何刷題,所以減少相關資料結構的範例,講個大概觀念後就直接刷題。這樣的選擇帶來不少好處,讓我更清楚知道如何實際運用觀念。

到了今天,回過頭看過去三十篇,深深了解到一隻半解下的筆記宛如半成品,功能不太大。

基礎知識的不足

開賽前跟朋友聊這次寫的主題,對方提供我一些當年考碩班的資料,翻一下資料結構的筆記時令人無言,詳細的內容搭配嚴謹的數學論證,比 GeekForGeeks 的內容更實用。這件事讓我了解到資源是有的,而且品質更優,一股腦從網路上找不一定能找到高品質的內容。

這件事讓我燃起想補大學資工系的課程內容,嘛,其實想想這也是必走的道路,唯有遇到強烈需求時才會產生強烈的念頭督促自己繼續學習、成長。

時間規劃的難處

下班後開始看相關內容、找尋適當題目並且理解如何用三種語言刷題,這件事對時間有莫大的壓力,往往讓我卡住的是刷題時 C 的部分,部分處理內容與 JS 有段差距(例如兩個、三個 pointer,以及 Tree),為了理解這塊,時間消耗過大,有幾天還是寫到一半就先繳交,等完成後再修改文章。

時間不夠用的情況下只好開始熬夜,長期下來我居然在某一天病倒了(但是當天我還是有寫文章呦)。病倒這件事告訴我健康永遠是最重要的,沒有健康什麼都沒得談。

LeetCode Tag 沒有全部刷完

對現在的我來說是可惜的,之後會找時間,至少每個 tag 要刷一題。此外,盡可能理解最佳解的做法,好比學生時代學習解題技巧一樣,刷題肯定也有專屬的模式可以學習。

總結

以上是不太滿意的部分,滿意的部分當然有:

  1. 提高 CJava 的熟練度。
  2. 有一題 C 沒有最佳解,自己解出來後有在 LeetCode 上發文,當下覺得自己也成長了,有能力貢獻其中一個正確答案。
  3. 最初的參賽的動機:「理解資料結構與演算法」算是初步達成。

最開心的莫過於,自己對自己的承諾可以實踐,一想到這就值得了。

學習資源

推薦:

適合當作資料結構與演算法的入門磚。


上一篇
Day 30: Greedy Method
系列文
你總是躲不掉的,不如放膽面對 LeetCode 吧!31

尚未有邦友留言

立即登入留言