每天用 Java 實作一道 LeetCode 題目,從基礎陣列、字串到進階的動態規劃與圖論,不僅分享程式碼,還會整理思路、解題心得,讓學習不只是背答案,而是逐步養成解題直覺。
題目理解我的理解 : 給定一個陣列 nums,回傳所有可能的排列。方法排列問題需要考慮元素順序,回溯時,每次從剩下的數字中選一個放進路徑。 心得前兩題的子集與...
題目理解我的理解 : 給定一個整數陣列 nums,我們要找出「和最大」的連續子陣列,並回傳它的和。方法對於每個數字 num,決定是「繼續累加」(currentS...
題目理解我的理解 : 是一個小偷,要從一排房子中偷錢,每間房子有一定金額,但不能偷相鄰的兩間。方法 定義 dp[i] 為「考慮到第 i 間(包含 i),在前...
題目理解我的理解 : 給定硬幣種類與目標金額,問最少要用幾枚硬幣能湊出該金額。若無法湊出,回傳 -1。方法 狀態定義:dp[i] = 湊出金額 i 所需最少硬...
題目理解我的理解 : 求二元樹最大深度(從根節點到最遠葉節點的節點數)。方法採用的是 BFS 若樹是空的(root == null),深度為 0。 建立一個...
題目理解我的理解 : 將一棵樹的每個節點的左子樹與右子樹交換。方法 當 Queue 不為空時: 取出隊首節點 currentNode。 交換 curren...
題目理解我的理解 : 給定一棵二元樹,要求輸出「每一層的節點值」,也就是從上到下、從左到右的層級遍歷結果。 方法 在遞迴時傳入「目前層級 level」。 若...
題目理解我的理解 : 給定一棵二元樹,判斷它是否為「有效的二元搜尋樹(BST)」BST 的特性是: 左子樹所有節點的值都 小於 根節點。 右子樹所有節點的值都...
題目理解我的理解 : 給定一個由 '1'(陸地)和 '0'(水域)組成的二維網格,需要計算島嶼的數量。一個島嶼是由「相鄰的陸地格子(上下左右)」組成的區塊。方法...
題目理解我的理解 : 題目要求找出從 beginWord 轉換成 endWord 的最短字串轉換序列長度且每次只能改變一個字母。方法 將字典放入 Set 中以...