比起去年,今年給我更大的衝擊與感觸,不光是因為團體賽沒有達標,而是因為挑戰的過程中,與當初設想的情境有所差別,到最後選擇撰寫自己有把握的內容,回頭來看,品質堪憂啊。
在完賽的這天,列出幾點光於我個人的體悟:
這點我排在第一順位,資料結構與演算法,是不可能在當天完全理解與吸收的,在有限的時間下,我選擇依賴 GeekForGeeks 的範例,對我來說是增加語言的熟練度,對讀者來說反倒是沒必要的篇章。當我注意到這件事時已經來到第二十天,雖然前面走歪了,後面十天的內容我希望能掌握在如何刷題,所以減少相關資料結構的範例,講個大概觀念後就直接刷題。這樣的選擇帶來不少好處,讓我更清楚知道如何實際運用觀念。
到了今天,回過頭看過去三十篇,深深了解到一隻半解下的筆記宛如半成品,功能不太大。
開賽前跟朋友聊這次寫的主題,對方提供我一些當年考碩班的資料,翻一下資料結構的筆記時令人無言,詳細的內容搭配嚴謹的數學論證,比 GeekForGeeks 的內容更實用。這件事讓我了解到資源是有的,而且品質更優,一股腦從網路上找不一定能找到高品質的內容。
這件事讓我燃起想補大學資工系的課程內容,嘛,其實想想這也是必走的道路,唯有遇到強烈需求時才會產生強烈的念頭督促自己繼續學習、成長。
下班後開始看相關內容、找尋適當題目並且理解如何用三種語言刷題,這件事對時間有莫大的壓力,往往讓我卡住的是刷題時 C
的部分,部分處理內容與 JS
有段差距(例如兩個、三個 pointer,以及 Tree
),為了理解這塊,時間消耗過大,有幾天還是寫到一半就先繳交,等完成後再修改文章。
時間不夠用的情況下只好開始熬夜,長期下來我居然在某一天病倒了(但是當天我還是有寫文章呦)。病倒這件事告訴我健康永遠是最重要的,沒有健康什麼都沒得談。
對現在的我來說是可惜的,之後會找時間,至少每個 tag 要刷一題。此外,盡可能理解最佳解的做法,好比學生時代學習解題技巧一樣,刷題肯定也有專屬的模式可以學習。
以上是不太滿意的部分,滿意的部分當然有:
C
與 Java
的熟練度。C
沒有最佳解,自己解出來後有在 LeetCode 上發文,當下覺得自己也成長了,有能力貢獻其中一個正確答案。最開心的莫過於,自己對自己的承諾可以實踐,一想到這就值得了。
推薦:
適合當作資料結構與演算法的入門磚。