iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
自我挑戰組

Java × LeetCode-30天日記 系列

每天用 Java 實作一道 LeetCode 題目,從基礎陣列、字串到進階的動態規劃與圖論,不僅分享程式碼,還會整理思路、解題心得,讓學習不只是背答案,而是逐步養成解題直覺。

參賽天數 17 天 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 17

Day 21:Permutations (LC #46)

題目理解我的理解 : 給定一個陣列 nums,回傳所有可能的排列。方法排列問題需要考慮元素順序,回溯時,每次從剩下的數字中選一個放進路徑。 心得前兩題的子集與...

2025-10-13 ‧ 由 alex7777 分享

Day 22:Maximum Subarray (LC #53)

題目理解我的理解 : 給定一個整數陣列 nums,我們要找出「和最大」的連續子陣列,並回傳它的和。方法對於每個數字 num,決定是「繼續累加」(currentS...

2025-10-16 ‧ 由 alex7777 分享

Day 23:House Robber (LeetCode #198)

題目理解我的理解 : 是一個小偷,要從一排房子中偷錢,每間房子有一定金額,但不能偷相鄰的兩間。方法 定義 dp[i] 為「考慮到第 i 間(包含 i),在前...

2025-10-16 ‧ 由 alex7777 分享

Day 24:Coin Change (LeetCode #322)

題目理解我的理解 : 給定硬幣種類與目標金額,問最少要用幾枚硬幣能湊出該金額。若無法湊出,回傳 -1。方法 狀態定義:dp[i] = 湊出金額 i 所需最少硬...

2025-10-16 ‧ 由 alex7777 分享

Day 25 — Maximum Depth of Binary Tree (LC #104)

題目理解我的理解 : 求二元樹最大深度(從根節點到最遠葉節點的節點數)。方法採用的是 BFS 若樹是空的(root == null),深度為 0。 建立一個...

2025-10-16 ‧ 由 alex7777 分享

Day 26:Invert Binary Tree (LC #226)

題目理解我的理解 : 將一棵樹的每個節點的左子樹與右子樹交換。方法 當 Queue 不為空時: 取出隊首節點 currentNode。 交換 curren...

2025-10-16 ‧ 由 alex7777 分享

Day 27:Binary Tree Level Order Traversal (LC #102)

題目理解我的理解 : 給定一棵二元樹,要求輸出「每一層的節點值」,也就是從上到下、從左到右的層級遍歷結果。 方法 在遞迴時傳入「目前層級 level」。 若...

2025-10-20 ‧ 由 alex7777 分享

Day 28:Validate Binary Search Tree (LC #98)

題目理解我的理解 : 給定一棵二元樹,判斷它是否為「有效的二元搜尋樹(BST)」BST 的特性是: 左子樹所有節點的值都 小於 根節點。 右子樹所有節點的值都...

2025-10-20 ‧ 由 alex7777 分享

Day 29:Number of Islands (LC #200)

題目理解我的理解 : 給定一個由 '1'(陸地)和 '0'(水域)組成的二維網格,需要計算島嶼的數量。一個島嶼是由「相鄰的陸地格子(上下左右)」組成的區塊。方法...

2025-10-20 ‧ 由 alex7777 分享

Day 30:Word Ladder (LC #127)

題目理解我的理解 : 題目要求找出從 beginWord 轉換成 endWord 的最短字串轉換序列長度且每次只能改變一個字母。方法 將字典放入 Set 中以...

2025-10-20 ‧ 由 alex7777 分享