從過去這 75 題 leetcode 的解題歷程
其實可以發現
解題最重要的一件事是先理解題目
能夠明白題目的結構知道需求 才能找出符合需求的解法
解法也許多很多種
但最重要的是去理解問題
不要太快跑到設計,因為理解問題規範才是做設計最重要的事
理解問題的方式,可以試著從舉一些簡單的例子來解析問題
當理解問題之後
才是開始從過去所學過的資料結構與演算法去找可以符合需求的去測試看看
每個問題解決方式不只一種(這也是解題的有趣之處),每種解法也會各有優缺點
至於要使用哪種解法取決於當下的條件,大部份解法都是基於某種取捨來做決定的
不一定有絕對好的作法,當然大家都喜歡有銀色子彈,但現實上常常沒有。
這 blind 75 其實只是其他題目的基礎類型。
當熟悉了這 75 題
可以參考 neetcode.io 所整理出的 150 題來去做練習
筆者也有做相關文章整理 neetcode.io 150
該作者會建議大家先以相同類型題目去習慣該某一類型題目的模式後
再開始隨機練習
練習解題的好處是可以學習分析題目,對日常工作的幫助不一定
但訓練邏輯分析是很有幫助的,感謝大家閱讀