CodingMan.cc

Code Your True Nature

作者分享開發「批踢踢超貼觀測站」的緣由與技術歷程。內容回顧了從擔任版主抓超貼的艱辛,到自行開發 Python PTT 庫 PyPtt 的種種心得。本文不僅介紹了工具的功能,更記錄了一個開源專案從種子到成熟應用的心路歷程。

探討在 Python 中使用 Enum 管理資料欄位的追尋旅程。為了避免硬編碼字串散落在專案各處,本文研究了如何利用自動化數值(Automatic values)來優化 Enum 的宣告與維護,是一篇提升程式碼強健性與可維護性的實務開發隨筆。

挑戰從數列中產生所有可能的子數列。本文介紹高效的「迭代法」:從空集開始,每遍歷到新數字便將其加入所有現有子集中。這是一篇探討 O(N * 2^N) 時間複雜度與集合生成邏輯的技術心得。

要求回傳二元樹從右側觀察到的視圖節點。本文運用廣度優先搜尋(BFS)進行層序遍歷,並精確搜集每一層最後出現的節點。這是一個理解如何透過層級探索來提取樹狀結構視覺屬性的經典實作案例。

針對 LeetCode 第 38 題「外觀數列」,本文教學如何根據規則進行字串編碼。解題核心在於準確描述上一個數列的組成情況,並轉換為新的字串表示。這是一篇掌握基礎字串遍歷、計數與模擬邏輯的實作隨筆。

判定輸入數字是否為迴文。雖然可以透過數學運算取位數比對,本文分享更簡潔的 Python 風格寫法:將數字轉換為字串後,直接與其反轉版本進行比對。內容精簡直觀,適合掌握基本字串操作與邏輯判定。

解析「使用最小花費爬樓梯」問題。本文展示動態規劃(DP)的基礎應用,透過從過去兩階中挑選成本較小的路徑來累加當前花費。這種逐步推導全域最優解的方式,非常適合初學者鞏固對 DP 狀態轉移與查表法的理解。

挑戰跳跳遊戲系列第六題,尋找路徑最高得分。雖然題目複雜度較高,本文分享利用最大堆積(Max Heap)優化搜尋過程的技巧:動態保存過去 k 個步驟中的最大分數,大幅提升動態規劃在長視窗下的執行效率。

跳跳遊戲系列第三題,判定是否能跳至數值為 0 的位置。本文結合深度優先搜尋(DFS)與走訪記錄技巧,防止程式陷入無限循環。透過條件式的路徑探索,引導讀者掌握帶有特殊移動規則的圖形走訪判定邏輯。

LeetCode 必考基礎題,實作鏈結串列的反轉。本文介紹一種直覺的指針變更策略:透過維護一個「前一節點」的參數,在遍歷過程中逐步調整 next 指針的指向。這是一篇掌握鏈結串列結構重組核心邏輯的必讀筆記。

0%