小松鼠的演算法解題教學
文章數
198
追蹤數
35
已付費
NaN
追蹤專題
文章列表
專題介紹
DP 動態規劃 深入淺出 一系列教學
圖論 Graph 相關演算法與題目解析
DFS 深度優先演算法 與 題目解析
BFS 廣度優先演算法 與 題目解析
二分搜尋法 相關題目與演算法解析
BST 二元搜索樹 相關題目與演算法解析
前綴和 相關應用解析
鏈結串列 相關題目與演算法解析
遊戲互動模擬題 相關演算法
SQL 資料庫語法 (以MySQL為主)
文章列表
專題介紹
DP 動態規劃 深入淺出 一系列教學
圖論 Graph 相關演算法與題目解析
DFS 深度優先演算法 與 題目解析
BFS 廣度優先演算法 與 題目解析
二分搜尋法 相關題目與演算法解析
BST 二元搜索樹 相關題目與演算法解析
前綴和 相關應用解析
鏈結串列 相關題目與演算法解析
遊戲互動模擬題 相關演算法
SQL 資料庫語法 (以MySQL為主)
BFS 廣度優先演算法 與 題目解析
一魚多吃: 從不同方法確認 兩點之間的路徑存在與否
今天的一魚三吃系列是透過 兩點之間是否存在一條路徑的題目,來回顧以前學過的DFS、BFS和Disjoint Set,鞏固圖論演算法的知識點。 英文的題目敘述在這裡 題目敘述 給定我們已知n個節點的圖,和圖上的每一條無向邊edges。 請問給定的起點start和終點end是否存在一條路徑可
小松鼠
2024-04-22
9
一魚多吃: 從 島嶼周長 理解 圖論演算法的本質
今天的官方每日一題是Island Perimeter島嶼周長,很有趣的一題。 題目非常直觀好懂。也很適合拿來作為多角度複習、回顧圖論演算法的好題目。 英文的題目敘述在這裡 題目敘述 題目會給我們一個二維陣列當作地圖,格子點為1代表陸地,格子點為0代表海洋。 要求我們以四連通N4的方式拜訪
小松鼠
2024-04-19
11
合縱連橫: 從 圖論的應用題 理解BFS背後的本質
這篇文章,會帶著大家複習以前學過的BFS框架, 並且以圖論的應用題與概念為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 BFS 框架 + 演算法 虛擬碼 # Queue 通常初始化成根結點,作為起點 BFS_queue = deque([root]) # 先
小松鼠
2024-04-02
10
圖論應用: 奇偶二元樹 Even Odd Tree_Leetcode #1609
題目敘述 題目會給定一棵二元樹的根結點,要求我們判定這是否為一顆合法的奇偶二元樹? 奇偶二元樹的定義: 從上到下依序是第0層、第一層、...、第n層 偶數層裡面的節點值都必須是奇數,而且由左到右嚴格遞增。 奇數層裡面的節點值都必須是偶數,而且由左到右嚴格遞減。 題目的原文敘述 測試
小松鼠
2024-02-29
5
圖論應用: 找出二元樹最後一層最左邊的值 Bottom Left Tree Value_Leetcode #513
題目敘述 題目會給定一棵二元樹的根結點,要求我們找出這棵二元樹最後一層最左邊的值。 題目的原文敘述 測試範例 Example 1: Input: root = [2,1,3] Output: 1 Example 2: Input: root = [1,2,3,4,null,5,6
小松鼠
2024-02-28
7
進階圖論應用: 解開數字鎖 Open the Lock_Leetcode #752
題目敘述 題目會給我們一個4位數字的數字鎖,還有解鎖的密碼target,和陷阱數字deadends(假如遇到的會鎖會直接卡住,不能在撥動轉盤了)。 預設開始的狀態是0000,請問,最少要撥動轉盤幾次才能解鎖? 題目的原文敘述 測試範例 Example 1: Input: deaden
小松鼠
2024-02-09
5
一題多解 用DP、BFS去解 Pefect Square 完全平方數的化簡_Leetcode #279
題目敘述 給定一個正整數n,請找出最少用幾個完全平方數,可以讓他們的總和為n? 例如 n=12,最少用3個完全平方數就可讓他們的總和為n,因為12 = 4 + 4 + 4 題目的原文敘述 測試範例 Example 1: Input: n = 12 Output: 3 Explanat
小松鼠
2024-02-08
6
圖論應用題: 樹的路徑總和 Path Sum_Leetcode #112
題目敘述 題目會給定一顆二元樹的根結點Root node,和指定的目標值targetSum。 問我們能不能從二元樹裡面找到一條從根結點到葉子結點的路徑,其路徑上的節點值總和恰好為targetSum? 可以的話,返回True。 無解的話,返回False。 題目的原文敘述 測試範例 E
小松鼠
2024-01-29
6
最短路徑應用: 遊戲模擬 Jump Game IV 青蛙過河 IV_Leetcode_#1345
題目敘述 題目會給我們一個輸入陣列arr,起始點固定在索引為0的位置, 終點固定在索引為n-1的位置。 假設當下所在的索引位置為i,那麼每次移動的時候,可以跳到i-1,i+1,或者其他和我有相同元素值的位置arr[j], where arr[j] = arr[i]。 例如: 假設當下在i=3
小松鼠
2024-01-28
6
一題多解 遊戲模擬 Jump Game III 青蛙過河 III Leetcode_#1306
題目敘述 題目會給我們一個輸入陣列nums,每個元素值代表那個格子點可以左右位移的固定長度。 例如,假設 nums[i] = 3,那麼下一步可以移動到nums[i-3] 或 nums[i+3]這兩個格子點。 題目會給定一個起始點start索引位置,請問我們能不能走到內部數值為0的格子點?
小松鼠
2024-01-27
7
遊戲模擬 Jump Game II 青蛙過河 II Leetcode_#45
題目敘述 題目會給我們一個輸入陣列nums,每個元素值代表那個格子點可以跳躍的最大長度。 題目保證始從最左邊的格子點出發開始跳,一定可以成功抵達終點,請問最少跳躍次數是說少? 題目的原文敘述 測試範例 Example 1: Input: nums = [2,3,1,1,4] Outp
小松鼠
2024-01-27
2
遊戲模擬 Jump Game 青蛙過河 Leetcode_#55
題目敘述 題目會給我們一個輸入陣列nums,每個元素值代表那個格子點可以跳躍的最大長度。 一開始從最左邊的格子點出發開始跳,請問可以成功抵達終點,也就是最右邊的格子點嗎? 如果可以,返回 True。 如果不行,返回False。 題目的原文敘述 測試範例 Example 1: In
小松鼠
2024-01-27
3