CodingMan.cc

Code Your True Nature

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

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

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

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

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

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

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

要求反轉鏈結串列中指定範圍內的節點。本文分享利用列表輔助處理的簡化策略,雖然在空間複雜度上有權衡,但極大地降低了指針操作的複雜度與出錯率。這是一篇針對鏈結串列局部重組問題的實務開發隨筆。

延續粉刷房子的概念,本題將顏色種類擴展至 k 種。解題思維同樣基於動態規劃,但需要處理更廣泛的顏色選擇範圍。本文解析如何在增加顏色靈活度的同時,依然保持演算法的執行效率,是進階動態規劃應用的優質練習。

解析 LeetCode 經典題「粉刷房子」。本文探討如何在顏色不相鄰的限制下,運用動態規劃(DP)找出粉刷所有房子的最低成本。透過建立狀態轉移方程,逐層累加當前顏色的最優解,是理解 DP 處理相鄰約束問題的入門首選。

0%