↓快轉到主要內容

LeetCode

LeetCode 2328: Number of Increasing Paths in a Grid
·2 分鐘
LeetCode Hard Dynamic-Programming Grid-Dp Memoization Topological-Sort Matrix
LeetCode 2328 解題筆記:嚴格遞增所以沒有環;dp[cell] = 1 + Σ dp[比它大的鄰居],依值由大到小處理(或記憶化 DFS),全部加起來
LeetCode 1377: Frog Position After T Seconds
·2 分鐘
LeetCode Hard Tree Dfs Bfs Graph Probability
LeetCode 1377 解題筆記:無向邊、seen 要記節點、提早到達目標時要看還能不能走
LeetCode 1292: Maximum Side Length of a Square with Sum Less than or Equal to Threshold
·2 分鐘
LeetCode Medium Binary-Search Prefix-Sum Matrix
LeetCode 1292 解題筆記:二維前綴和加上對邊長二分;兩種二分寫法不能混用
LeetCode 1178: Number of Valid Words for Each Puzzle
·1 分鐘
LeetCode Hard Bit-Manipulation Hash-Map Trie
LeetCode 1178 解題筆記:單字只在乎用了哪些字母,轉成 26-bit 遮罩計數,再枚舉謎題遮罩的所有子集合
LeetCode 2585: Number of Ways to Earn Points
·1 分鐘
LeetCode Hard Dynamic-Programming Knapsack Array
LeetCode 2585 解題筆記:有數量上限的背包(分組背包);每種題目選 0 到 count 題,容量倒著走,在裡面枚舉選幾題
LeetCode 410: Split Array Largest Sum
·1 分鐘
LeetCode Hard Dynamic-Programming Binary-Search Greedy Prefix-Sum Array
LeetCode 410 解題筆記:對答案二分搜尋;給定上限 mid,貪心地能塞就塞,數出最少要切幾段,段數 <= k 就表示 mid 可行
LeetCode 4026: Maximum Gap Between Stations
·2 分鐘
LeetCode Medium Two-Pointers Greedy String
LeetCode 4026 解題筆記:從左邊貪心配出每個工人最早可用的站、從右邊配出最晚可用的站;在第 i 和 i+1 個工人之間切開,最大間隔是 latest[i+1] - earliest[i]
LeetCode 1320: Minimum Distance to Type a Word Using Two Fingers
·1 分鐘
LeetCode Hard Dynamic-Programming State-Machine String
LeetCode 1320 解題筆記:打完 word[i] 時,一定有一根手指在 word[i] 上,狀態只要記另一根手指在哪;dp[other] 是另一根手指在 other 的最小距離
LeetCode 3895: Count Digit Appearances
·1 分鐘
LeetCode Medium Math Array
LeetCode 3895 解題筆記:把每個數字轉成字串,數 digit 出現的次數加總
LeetCode 518: Coin Change 2
·3 分鐘
LeetCode Medium Dynamic-Programming Unbounded-Knapsack
LeetCode 518 解題筆記,依照原始 learning note 重新整理
LeetCode 494: Target Sum
·3 分鐘
LeetCode Medium Dynamic-Programming Knapsack Subset-Sum
LeetCode 494 解題筆記,依照原始 learning note 重新整理
LeetCode 416: Partition Equal Subset Sum
·3 分鐘
LeetCode Medium Dynamic-Programming Knapsack Subset-Sum
LeetCode 416 解題筆記,依照原始 learning note 重新整理