LeetCode 筆記 - 19. Remove Nth Node From End of List
解析如何在單向鏈結串列中移除倒數第 n 個節點。本文教學使用雙指針技巧,透過前導指針領先 n 步的設計,讓追隨指針精確停在目標節點前。同時分享加入虛擬節點以處理邊界情況的實務開發經驗。
解析如何在單向鏈結串列中移除倒數第 n 個節點。本文教學使用雙指針技巧,透過前導指針領先 n 步的設計,讓追隨指針精確停在目標節點前。同時分享加入虛擬節點以處理邊界情況的實務開發經驗。
LeetCode 基礎實作題,判定數列中是否包含重複元素。本文探討利用 Python 內建的 map 或 set 資料結構,將檢查存在與否的時間複雜度優化至平均 O(1),幫助讀者理解基礎集合運算在提升程式效率上的重要性。
探討最大子數列問題。本文解析優美且強大的 Kadane 演算法,其核心思想在於遍歷過程中動態決定是否加入前一項的累積和。透過簡單的一次遍歷,就能在 O(N) 時間內精確找出總和最大的連續區段,是動態規劃的極簡體現。
延續 3Sum 的概念,本題要求找出三數之和最接近目標值的組合。解法核心在於運用雙指針(Two Pointers)大法,並在夾擠過程中動態更新與目標值的最小差值,是掌握數列搜尋與指針操作技巧的進階練習。
要求反轉句子中每個單字的字符。雖然本題適合運用雙指針,但作者分享了更具 Python 風格的簡潔實作方式。本文記錄了在處理字串分割、反轉與合併時的靈活思維,展示如何用直覺的寫法解決日常開發中的字串處理需求。
LeetCode 基礎反轉字串題。雖然 Python 具備多種簡潔的反轉寫法,本文特別採用雙指針(Two Pointers)大法進行實作,透過頭尾對調的方式達成原地修改。這是一篇適合初學者掌握指針移動與基本字串操作的技術筆記。
針對已排序數列的 Two Sum 問題,本文解析雙指針(Two Pointers)的標準應用。透過從數列兩端向中間逼近,能以最有效率的方式找出目標值索引,並避免重複計算,是理解排序數列優化搜尋的基礎入門題。
針對 LeetCode 第 283 題,要求將數列中的所有零移動至尾端並保持非零元素的相對順序。本文解析如何運用雙指針(Two Pointers)大法,透過一個插入指標(insert_pos)動態調整非零數值的位置,達成原地修改的高效實作。
挑戰在矩陣中尋找最長遞增路徑。本文結合深度優先搜尋(DFS)與記憶化搜索(Memoization)技巧,透過一張表格紀錄已計算過的點位結果,避免重複遞迴,將複雜度大幅降低,讓程式能在龐大的矩陣空間中快速收斂出最長路徑。
解析 LeetCode 經典難題「網路中的關鍵連接」。本文引導讀者複習 Tarjan 演算法,透過尋找圖形結構中的環,來識別哪些連接若斷開會導致網路不連通(即橋接點)。文中推薦相關優質影片,協助理解演算法核心邏輯。