本次自主學習以 LeetCode 演算法題目為主軸,透過 30 天的連續實作,學習常見的資料結構與演算法,例如陣列、雜湊表、鏈結串列、堆疊、佇列、樹、搜尋、排序、動態規劃等。每個單元將選擇一個 LeetCode 題目,分別使用 Java 與 Python 實作,整理解題思路、程式碼及時間與空間複雜度,並比較兩種程式語言在語法、實作方式與解題上的差異。希望透過持續練習提升程式設計、問題分析與演算法思考能力,並累積實際撰寫程式與解決問題的經驗。
一、題目介紹今天要解的題目是LeetCode的Binary Tree Inorder Traversal,中文可以稱為「二元樹中序走訪」。 在Binary Tr...
一、題目介紹今天要解的題目是LeetCode的Binary Tree Level Order Traversal,中文可以稱為「二元樹的層序走訪」。 題目會給定...
一、題目介紹今天要解的題目是LeetCode的Search a 2D Matrix,中文可以稱為「搜尋二維矩陣」。 題目會給定一個m × n的二維矩陣matri...
一、題目介紹今天要解的題目是LeetCode的Merge Sorted Array,中文可以稱為「合併兩個有序陣列」。 題目會給定兩個已經按照非遞減順序排列的整...
一、題目介紹今天要解的題目是LeetCode的Merge Intervals 題目會給我們一個由許多區間組成的陣列,每個區間都有開始位置與結束位置例如:inte...
一、題目介紹今天要解的題目是LeetCode的Maximum Subarray 題目會給我們一個整數陣列nums,要求找出其中一個連續子陣列(subarray)...
一、題目介紹今天要解的題目是LeetCode的Climbing Stairs 題目描述假設有一個樓梯,共有n階每一次可以選擇 往上走 1 階 往上走 2 階問...
一、題目介紹今天要解的題目是LeetCode的House Robber 題目描述:有一排房屋,每間房屋裡都有一定數量的金錢我們希望偷到最多的金錢但是有一個限制:...
一、題目介紹今天要解的題目是LeetCode的Coin Change 題目會給我們一組不同面額的硬幣,以及一個目標金額amount每種硬幣可以使用任意次數,要求...
一、 題目介紹今天要練習的題目是 LeetCode 509:Fibonacci Number(費波那契數) 費波那契數列的定義如下 F(0) = 0 F(1)...