小松鼠的演算法樂園
演算法題目解析
239
免費公開
1
付費限定
房間資訊
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
全部
DP動態規劃深入淺出
圖論 Graph 相關演算法與題目解析
DFS 深度優先演算法 與 題目解析
BFS 廣度優先演算法 與 題目解析
二分搜尋法 相關題目與演算法解析
BST 二元搜索樹 相關題目與演算法解析
前綴和 相關應用解析
鏈結串列 相關題目與演算法解析
遊戲互動模擬題 相關演算法
SQL 資料庫語法 (以MySQL為主)
全部
DP動態規劃深入淺出
圖論 Graph 相關演算法與題目解析
DFS 深度優先演算法 與 題目解析
BFS 廣度優先演算法 與 題目解析
二分搜尋法 相關題目與演算法解析
BST 二元搜索樹 相關題目與演算法解析
前綴和 相關應用解析
鏈結串列 相關題目與演算法解析
遊戲互動模擬題 相關演算法
SQL 資料庫語法 (以MySQL為主)
全部類型
免費與付費
最新發佈
最新發佈
小松鼠
2024/09/10
🏅環環相扣 插入GCD到鏈結串列中_Insert GCD in Linked List_Leetcode #2807
Insert Greatest Common Divisors in Linked List 題目給定一個鏈結串列, 請在兩兩節點之間加入一個新節點,新節點的值為兩者之間的最大公因數。 最後返回新串列的head node作為答案。
#
python
#
leetcode
#
algorithm
10
3
小松鼠
2024/09/10
🏅環環相扣 插入GCD到鏈結串列中_Insert GCD in Linked List_Leetcode #2807
Insert Greatest Common Divisors in Linked List 題目給定一個鏈結串列, 請在兩兩節點之間加入一個新節點,新節點的值為兩者之間的最大公因數。 最後返回新串列的head node作為答案。
#
python
#
leetcode
#
algorithm
10
3
小松鼠
2024/05/07
反璞歸真 DFS模擬鏈結串列的四則運算。 Leetcode #2816
題目敘述 輸入給定一個鏈結串列,整體看代表一個十進位的數字,各別看每個節點代表每個digit,分別從最高位~最低位個位數。 要求我們把原本的數字乘以二,並且以鏈結串列的形式返回答案。 原本的英文題目敘述
#
python
#
leetcode
#
algorithm
15
小松鼠
2024/05/07
反璞歸真 DFS模擬鏈結串列的四則運算。 Leetcode #2816
題目敘述 輸入給定一個鏈結串列,整體看代表一個十進位的數字,各別看每個節點代表每個digit,分別從最高位~最低位個位數。 要求我們把原本的數字乘以二,並且以鏈結串列的形式返回答案。 原本的英文題目敘述
#
python
#
leetcode
#
algorithm
15
小松鼠
2024/05/06
李代桃僵 刪除節點 Delete Node in a Linked List_Leetcode #237
題目敘述 題目給定一個鏈結串列中的節點Node,要求我們從鏈結串列中刪除該節點。 題目保證該節點不是tail node。 題目要求我們in-place原位操作。 原本的英文題目敘述 測試範例 Example 1: Input: head = [4,5,1,9], node = 5
#
python
#
leetcode
#
algorithm
12
小松鼠
2024/05/06
李代桃僵 刪除節點 Delete Node in a Linked List_Leetcode #237
題目敘述 題目給定一個鏈結串列中的節點Node,要求我們從鏈結串列中刪除該節點。 題目保證該節點不是tail node。 題目要求我們in-place原位操作。 原本的英文題目敘述 測試範例 Example 1: Input: head = [4,5,1,9], node = 5
#
python
#
leetcode
#
algorithm
12
小松鼠
2024/05/06
嵌套娃娃 用遞迴解 串列化簡題 Leetcode #2487
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
#
python
#
leetcode
#
algorithm
12
小松鼠
2024/05/06
嵌套娃娃 用遞迴解 串列化簡題 Leetcode #2487
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
#
python
#
leetcode
#
algorithm
12
小松鼠
2024/04/30
化繁為簡: 映射化簡的演算法技巧
演算法映射化簡的核心觀念 在面對新題目的時候,除了重頭想一個新的演算法之外; 還有另一個方法,想看看有沒有核心觀念彼此相同的問題與演算法, 如果有,就可以把新的題目映射化簡到已知解法的問題,用已知的演算法去解開。 接著,我們會介紹幾個範例,並且使用映射化簡的技巧來解題,透過化
#
leetcode
#
python
#
algorithm
14
小松鼠
2024/04/30
化繁為簡: 映射化簡的演算法技巧
演算法映射化簡的核心觀念 在面對新題目的時候,除了重頭想一個新的演算法之外; 還有另一個方法,想看看有沒有核心觀念彼此相同的問題與演算法, 如果有,就可以把新的題目映射化簡到已知解法的問題,用已知的演算法去解開。 接著,我們會介紹幾個範例,並且使用映射化簡的技巧來解題,透過化
#
leetcode
#
python
#
algorithm
14
小松鼠
2024/04/29
用 龜兔賽跑演算法 來檢查有沒有環路Linked List Cycle_Leetcode #141
給定一個Linked list鏈結串列的Head node, 請判斷這條Linked list是否存在環路(Cycle)? 如果有環路,回傳True。 如果沒有,回傳False。
#
python
#
leetcode
#
algorithm
14
小松鼠
2024/04/29
用 龜兔賽跑演算法 來檢查有沒有環路Linked List Cycle_Leetcode #141
給定一個Linked list鏈結串列的Head node, 請判斷這條Linked list是否存在環路(Cycle)? 如果有環路,回傳True。 如果沒有,回傳False。
#
python
#
leetcode
#
algorithm
14
小松鼠
2024/03/12
鍊表應用: 簡化鏈結串列 Remove Zero Sum Nodes_Leetcode #1171
題目敘述 題目會給定一個鏈結串列的起始點,要求我們把其中區間總和為0的部分刪除掉。 例如 1→ 2 → -2 → 3 → 4 裡面有一段是2 → -2 區間總和為零,所以簡化刪除後變成 1→ 3 → 4 題目的原文敘述 測試範例 Example 1: Input: head
#
python
#
leetcode
#
algorithm
6
小松鼠
2024/03/12
鍊表應用: 簡化鏈結串列 Remove Zero Sum Nodes_Leetcode #1171
題目敘述 題目會給定一個鏈結串列的起始點,要求我們把其中區間總和為0的部分刪除掉。 例如 1→ 2 → -2 → 3 → 4 裡面有一段是2 → -2 區間總和為零,所以簡化刪除後變成 1→ 3 → 4 題目的原文敘述 測試範例 Example 1: Input: head
#
python
#
leetcode
#
algorithm
6
小松鼠
2023/12/25
一魚多吃 用雙指針找出串列的中點 Middle of Linked list_Leetcode #876
題目敘述 題目會給我們一個鏈結串列的起點head,要求我們找出這個串列的中點。 註: 如果串列長度是偶數,就回傳中間偏右的那個節點。 例如: 1 -> 2 -> 3 回傳中點為2 1 -> 2 -> 3 -> 4 ->5 -> 6 回傳中點為4 詳細的題目可在這裡看到 測試範例
#
doublepointer
#
雙指針
#
linkedlist
5
小松鼠
2023/12/25
一魚多吃 用雙指針找出串列的中點 Middle of Linked list_Leetcode #876
題目敘述 題目會給我們一個鏈結串列的起點head,要求我們找出這個串列的中點。 註: 如果串列長度是偶數,就回傳中間偏右的那個節點。 例如: 1 -> 2 -> 3 回傳中點為2 1 -> 2 -> 3 -> 4 ->5 -> 6 回傳中點為4 詳細的題目可在這裡看到 測試範例
#
doublepointer
#
雙指針
#
linkedlist
5
小松鼠
2023/10/27
複製客製化鏈結串列 Copy List w/ Random Pointer_Leetcode #138
題目會給定一個帶有Random Pointer的鏈結串列,要求我們實體複製deep copy這條鏈結串列,並且輸出副本的根結點。
#
linkedlist
#
copy
#
dictionary
4
小松鼠
2023/10/27
複製客製化鏈結串列 Copy List w/ Random Pointer_Leetcode #138
題目會給定一個帶有Random Pointer的鏈結串列,要求我們實體複製deep copy這條鏈結串列,並且輸出副本的根結點。
#
linkedlist
#
copy
#
dictionary
4
小松鼠
2023/10/05
串列應用題 移除尾巴數來的第n個節點 Leetcode #19
題目會給定我們一個串列,和一個n值,要求我們刪除尾巴數來的第n個節點。 例如 1->2->3->4->5 和 給定n值=2,要求我們刪除尾巴數來的第2個節點。 尾巴數來的第2個節點是4,刪除之後,更新連結,輸出答案如下 1->2->3->5
#
雙指針
#
doublepointers
#
串列
2
小松鼠
2023/10/05
串列應用題 移除尾巴數來的第n個節點 Leetcode #19
題目會給定我們一個串列,和一個n值,要求我們刪除尾巴數來的第n個節點。 例如 1->2->3->4->5 和 給定n值=2,要求我們刪除尾巴數來的第2個節點。 尾巴數來的第2個節點是4,刪除之後,更新連結,輸出答案如下 1->2->3->5
#
雙指針
#
doublepointers
#
串列
2
小松鼠
2023/10/03
經典串列題 合併已排序好的兩條串列 Merge Two Sorted Lists Leetcode #21
題目會給我們兩條已經從小到大排序好的串列,要求我們依照從小到大的順序,合併這兩條串列。
#
linkedlist
#
串列
#
merge
7
小松鼠
2023/10/03
經典串列題 合併已排序好的兩條串列 Merge Two Sorted Lists Leetcode #21
題目會給我們兩條已經從小到大排序好的串列,要求我們依照從小到大的順序,合併這兩條串列。
#
linkedlist
#
串列
#
merge
7
加入
全部
DP動態規劃深入淺出
圖論 Graph 相關演算法與題目解析
DFS 深度優先演算法 與 題目解析
BFS 廣度優先演算法 與 題目解析
二分搜尋法 相關題目與演算法解析
BST 二元搜索樹 相關題目與演算法解析
前綴和 相關應用解析
鏈結串列 相關題目與演算法解析
遊戲互動模擬題 相關演算法
SQL 資料庫語法 (以MySQL為主)
全部
DP動態規劃深入淺出
圖論 Graph 相關演算法與題目解析
DFS 深度優先演算法 與 題目解析
BFS 廣度優先演算法 與 題目解析
二分搜尋法 相關題目與演算法解析
BST 二元搜索樹 相關題目與演算法解析
前綴和 相關應用解析
鏈結串列 相關題目與演算法解析
遊戲互動模擬題 相關演算法
SQL 資料庫語法 (以MySQL為主)
全部類型
免費與付費
最新發佈
最新發佈
小松鼠
2024/09/10
🏅環環相扣 插入GCD到鏈結串列中_Insert GCD in Linked List_Leetcode #2807
Insert Greatest Common Divisors in Linked List 題目給定一個鏈結串列, 請在兩兩節點之間加入一個新節點,新節點的值為兩者之間的最大公因數。 最後返回新串列的head node作為答案。
#
python
#
leetcode
#
algorithm
10
3
小松鼠
2024/09/10
🏅環環相扣 插入GCD到鏈結串列中_Insert GCD in Linked List_Leetcode #2807
Insert Greatest Common Divisors in Linked List 題目給定一個鏈結串列, 請在兩兩節點之間加入一個新節點,新節點的值為兩者之間的最大公因數。 最後返回新串列的head node作為答案。
#
python
#
leetcode
#
algorithm
10
3
小松鼠
2024/05/07
反璞歸真 DFS模擬鏈結串列的四則運算。 Leetcode #2816
題目敘述 輸入給定一個鏈結串列,整體看代表一個十進位的數字,各別看每個節點代表每個digit,分別從最高位~最低位個位數。 要求我們把原本的數字乘以二,並且以鏈結串列的形式返回答案。 原本的英文題目敘述
#
python
#
leetcode
#
algorithm
15
小松鼠
2024/05/07
反璞歸真 DFS模擬鏈結串列的四則運算。 Leetcode #2816
題目敘述 輸入給定一個鏈結串列,整體看代表一個十進位的數字,各別看每個節點代表每個digit,分別從最高位~最低位個位數。 要求我們把原本的數字乘以二,並且以鏈結串列的形式返回答案。 原本的英文題目敘述
#
python
#
leetcode
#
algorithm
15
小松鼠
2024/05/06
李代桃僵 刪除節點 Delete Node in a Linked List_Leetcode #237
題目敘述 題目給定一個鏈結串列中的節點Node,要求我們從鏈結串列中刪除該節點。 題目保證該節點不是tail node。 題目要求我們in-place原位操作。 原本的英文題目敘述 測試範例 Example 1: Input: head = [4,5,1,9], node = 5
#
python
#
leetcode
#
algorithm
12
小松鼠
2024/05/06
李代桃僵 刪除節點 Delete Node in a Linked List_Leetcode #237
題目敘述 題目給定一個鏈結串列中的節點Node,要求我們從鏈結串列中刪除該節點。 題目保證該節點不是tail node。 題目要求我們in-place原位操作。 原本的英文題目敘述 測試範例 Example 1: Input: head = [4,5,1,9], node = 5
#
python
#
leetcode
#
algorithm
12
小松鼠
2024/05/06
嵌套娃娃 用遞迴解 串列化簡題 Leetcode #2487
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
#
python
#
leetcode
#
algorithm
12
小松鼠
2024/05/06
嵌套娃娃 用遞迴解 串列化簡題 Leetcode #2487
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
#
python
#
leetcode
#
algorithm
12
小松鼠
2024/04/30
化繁為簡: 映射化簡的演算法技巧
演算法映射化簡的核心觀念 在面對新題目的時候,除了重頭想一個新的演算法之外; 還有另一個方法,想看看有沒有核心觀念彼此相同的問題與演算法, 如果有,就可以把新的題目映射化簡到已知解法的問題,用已知的演算法去解開。 接著,我們會介紹幾個範例,並且使用映射化簡的技巧來解題,透過化
#
leetcode
#
python
#
algorithm
14
小松鼠
2024/04/30
化繁為簡: 映射化簡的演算法技巧
演算法映射化簡的核心觀念 在面對新題目的時候,除了重頭想一個新的演算法之外; 還有另一個方法,想看看有沒有核心觀念彼此相同的問題與演算法, 如果有,就可以把新的題目映射化簡到已知解法的問題,用已知的演算法去解開。 接著,我們會介紹幾個範例,並且使用映射化簡的技巧來解題,透過化
#
leetcode
#
python
#
algorithm
14
小松鼠
2024/04/29
用 龜兔賽跑演算法 來檢查有沒有環路Linked List Cycle_Leetcode #141
給定一個Linked list鏈結串列的Head node, 請判斷這條Linked list是否存在環路(Cycle)? 如果有環路,回傳True。 如果沒有,回傳False。
#
python
#
leetcode
#
algorithm
14
小松鼠
2024/04/29
用 龜兔賽跑演算法 來檢查有沒有環路Linked List Cycle_Leetcode #141
給定一個Linked list鏈結串列的Head node, 請判斷這條Linked list是否存在環路(Cycle)? 如果有環路,回傳True。 如果沒有,回傳False。
#
python
#
leetcode
#
algorithm
14
小松鼠
2024/03/12
鍊表應用: 簡化鏈結串列 Remove Zero Sum Nodes_Leetcode #1171
題目敘述 題目會給定一個鏈結串列的起始點,要求我們把其中區間總和為0的部分刪除掉。 例如 1→ 2 → -2 → 3 → 4 裡面有一段是2 → -2 區間總和為零,所以簡化刪除後變成 1→ 3 → 4 題目的原文敘述 測試範例 Example 1: Input: head
#
python
#
leetcode
#
algorithm
6
小松鼠
2024/03/12
鍊表應用: 簡化鏈結串列 Remove Zero Sum Nodes_Leetcode #1171
題目敘述 題目會給定一個鏈結串列的起始點,要求我們把其中區間總和為0的部分刪除掉。 例如 1→ 2 → -2 → 3 → 4 裡面有一段是2 → -2 區間總和為零,所以簡化刪除後變成 1→ 3 → 4 題目的原文敘述 測試範例 Example 1: Input: head
#
python
#
leetcode
#
algorithm
6
小松鼠
2023/12/25
一魚多吃 用雙指針找出串列的中點 Middle of Linked list_Leetcode #876
題目敘述 題目會給我們一個鏈結串列的起點head,要求我們找出這個串列的中點。 註: 如果串列長度是偶數,就回傳中間偏右的那個節點。 例如: 1 -> 2 -> 3 回傳中點為2 1 -> 2 -> 3 -> 4 ->5 -> 6 回傳中點為4 詳細的題目可在這裡看到 測試範例
#
doublepointer
#
雙指針
#
linkedlist
5
小松鼠
2023/12/25
一魚多吃 用雙指針找出串列的中點 Middle of Linked list_Leetcode #876
題目敘述 題目會給我們一個鏈結串列的起點head,要求我們找出這個串列的中點。 註: 如果串列長度是偶數,就回傳中間偏右的那個節點。 例如: 1 -> 2 -> 3 回傳中點為2 1 -> 2 -> 3 -> 4 ->5 -> 6 回傳中點為4 詳細的題目可在這裡看到 測試範例
#
doublepointer
#
雙指針
#
linkedlist
5
小松鼠
2023/10/27
複製客製化鏈結串列 Copy List w/ Random Pointer_Leetcode #138
題目會給定一個帶有Random Pointer的鏈結串列,要求我們實體複製deep copy這條鏈結串列,並且輸出副本的根結點。
#
linkedlist
#
copy
#
dictionary
4
小松鼠
2023/10/27
複製客製化鏈結串列 Copy List w/ Random Pointer_Leetcode #138
題目會給定一個帶有Random Pointer的鏈結串列,要求我們實體複製deep copy這條鏈結串列,並且輸出副本的根結點。
#
linkedlist
#
copy
#
dictionary
4
小松鼠
2023/10/05
串列應用題 移除尾巴數來的第n個節點 Leetcode #19
題目會給定我們一個串列,和一個n值,要求我們刪除尾巴數來的第n個節點。 例如 1->2->3->4->5 和 給定n值=2,要求我們刪除尾巴數來的第2個節點。 尾巴數來的第2個節點是4,刪除之後,更新連結,輸出答案如下 1->2->3->5
#
雙指針
#
doublepointers
#
串列
2
小松鼠
2023/10/05
串列應用題 移除尾巴數來的第n個節點 Leetcode #19
題目會給定我們一個串列,和一個n值,要求我們刪除尾巴數來的第n個節點。 例如 1->2->3->4->5 和 給定n值=2,要求我們刪除尾巴數來的第2個節點。 尾巴數來的第2個節點是4,刪除之後,更新連結,輸出答案如下 1->2->3->5
#
雙指針
#
doublepointers
#
串列
2
小松鼠
2023/10/03
經典串列題 合併已排序好的兩條串列 Merge Two Sorted Lists Leetcode #21
題目會給我們兩條已經從小到大排序好的串列,要求我們依照從小到大的順序,合併這兩條串列。
#
linkedlist
#
串列
#
merge
7
小松鼠
2023/10/03
經典串列題 合併已排序好的兩條串列 Merge Two Sorted Lists Leetcode #21
題目會給我們兩條已經從小到大排序好的串列,要求我們依照從小到大的順序,合併這兩條串列。
#
linkedlist
#
串列
#
merge
7