Math
LeetCode 50: Pow(x, n)
·1 分鐘
LeetCode
Medium
Math
Recursion
LeetCode 50 解題筆記:快速冪,x^n = (x²)^(n/2),n 是奇數時多乘一個 x;n 是負數時算 1 / x^(-n)
LeetCode 264: Ugly Number II
·1 分鐘
LeetCode
Medium
Hash-Table
Math
Dynamic-Programming
Heap-Priority-Queue
LeetCode 264 解題筆記:三個指針分別指向下一個要乘 2、3、5 的醜數,每次取最小的,相等的指針都要前進
LeetCode 227: Basic Calculator II
·1 分鐘
LeetCode
Medium
Math
String
Stack
LeetCode 227 解題筆記:先把數字讀完整,遇到運算子時處理上一個運算子:+ - 把數放進 stack(減號放負數),* / 直接跟頂端算
LeetCode 204: Count Primes
·1 分鐘
LeetCode
Medium
Array
Math
Enumeration
Number-Theory
LeetCode 204 解題筆記:埃氏篩,只用質數 p 從 p² 開始把倍數劃掉,外層只要到 √n
LeetCode 189: Rotate Array
·1 分鐘
LeetCode
Medium
Array
Math
Two-Pointers
LeetCode 189 解題筆記:先 k %= n,再用三次反轉:整個反轉、前 k 個反轉、後 n - k 個反轉;O(1) 額外空間
LeetCode 48: Rotate Image
·1 分鐘
LeetCode
Medium
Array
Math
Matrix
LeetCode 48 解題筆記:順時針轉 90 度 = 先轉置再把每一列左右反轉,兩步都可以原地做
LeetCode 973: K Closest Points to Origin
·1 分鐘
LeetCode
Medium
Array
Math
Divide-and-Conquer
Geometry
LeetCode 973 解題筆記:跟 Top-K 一樣,用大小為 k 的 max-heap(存負的距離)保留最近的 k 個點
LeetCode 43: Multiply Strings
·1 分鐘
LeetCode
Medium
Math
String
Simulation
LeetCode 43 解題筆記:num1[i] × num2[j] 的結果落在第 i + j + 1 位,用一個長度 n + m 的陣列累加後再統一進位
LeetCode 1137: N-th Tribonacci Number
·1 分鐘
LeetCode
Easy
Math
Dynamic-Programming
Memoization
LeetCode 1137 解題筆記:跟 Fibonacci 一樣,用三個變數滾動;小心 T0 = 0、T1 = T2 = 1 的起始值和迴圈範圍
LeetCode 1103: Distribute Candies to People
·1 分鐘
LeetCode
Easy
Math
Simulation
LeetCode 1103 解題筆記:模擬一輪一輪發糖果,第 i 次發 i + 1 顆,不夠時把剩下的全給目前這個人
LeetCode 1030: Matrix Cells in Distance Order
·1 分鐘
LeetCode
Easy
Array
Math
Geometry
Sorting
LeetCode 1030 解題筆記:列出所有座標,按到中心的曼哈頓距離排序;回傳的是座標,不是距離
LeetCode 1025: Divisor Game
·1 分鐘
LeetCode
Easy
Math
Dynamic-Programming
Brainteaser
Game-Theory
LeetCode 1025 解題筆記:dp[i] = 存在 i 的因數 x 讓 dp[i - x] 是輸;觀察後答案就是 n 是偶數