LeetCode Nim Game:尼姆遊戲必勝策略
題目描述 堆有 n 顆石子,雙方輪流取 1~3 顆,取走最後一顆者勝。你先手。雙方均最優策略。判斷你能否獲勝。 博弈論分析 1,2,3 顆:先手全拿 → 勝
LeetCode Balanced Binary Tree:判斷平衡二叉樹
題目描述 給定二叉樹,判斷是否高度平衡:任意節點左右子樹高度差 ≤ 1。 解法:後序遍歷 + 剪枝 自底向上計算高度。若任一子樹不平衡(返回 -1),直接向上
Effective C++ 筆記:明智地使用 Private 繼承
Private 繼承語義 public 繼承表達 is-a(編譯器隱式轉換子類→父類)。private 繼承: 編譯器不會將子類物件轉換為父類物件。 父類 p
LeetCode Find Peak Element:尋找峰值元素
題目描述 峰值元素大於其相鄰元素。給定陣列 num[i] ≠ num[i+1],找任一峰值索引。想像 num[-1] = num[n] = -∞。要求對數時間複
LeetCode 11 Container With Most Water:盛最多水的容器
題目翻譯 給定 n 個非負整數 a1..an,代表座標 (i, ai) 處的垂直線。找兩條線與 x 軸構成容器,盛水最多。不能傾斜容器。 解法演進 暴力法 O
LeetCode 12 Integer to Roman:整數轉羅馬數字
題目翻譯 給定整數(1~3999),轉換為羅馬數字。 解題思路 羅馬數字包含減法表示(4=IV, 9=IX, 40=XL, 90=XC, 400=CD, 90
LeetCode 13 Roman to Integer:羅馬數字轉整數
題目翻譯 給定羅馬數字(範圍 1~3999),轉換為整數。 解題思路 羅馬數字規則:同符號相加,小符號在大符號左邊表示相減(如 IV=4, IX=9)。掃描字
LeetCode 筆記:Evaluate Reverse Polish Notation(逆波蘭表達式求值)
題目描述 計算逆波蘭表示法(後綴表達式)的值。運算符 +, -, *, /,運算元為整數或子表達式。例:[2,1,+,3,*] → ((2+1)*3) → 9。
LeetCode 14 Longest Common Prefix:最長公共前綴
題目翻譯 編寫函數找出字串陣列中的最長公共前綴。 解題思路 先找出最短字串長度 minSize 及其索引 minIndex。 從 minSize 遞減至 0
HDU 4393 Digital Square:DFS 搜尋最小平方尾數匹配
題目大意 給定整數 N,求最小非負整數 M,使得 M² % 10ˣ = N(x = 0,1,2,...)。不存在輸出 None。T ≤ 1000, N ≤ 10
LeetCode 16 3Sum Closest:最接近目標值的三數之和
題目翻譯 給定整數陣列 S 與目標值 target,找出三數使其和最接近 target。假設唯一解。例:S = [-1,2,1,-4], target = 1
LeetCode 17 Letter Combinations of a Phone Number:電話號碼字母組合
題目翻譯 給定數字字串(2-9),返回所有可能的字母組合。數字到字母映射同電話鍵盤。輸入 23 → 輸出 [ad,ae,af,bd,be,bf,cd,ce,cf
LeetCode 268 Missing Number:缺失數字
題目描述 給定包含 0, 1, ..., n 中 n 個數的陣列,找出缺失的那一個數。 解法一:等差數列求和 期望總和 (n+1)*n/2 減去陣列實際和,差
LeetCode 筆記:Anagrams(字母異位詞分組)
題目描述 給定字串陣列,返回所有屬於同一組字母異位詞的字串。字母異位詞:字母種類與數量相同,順序不同(如 tea、eat、ate)。輸入皆為小寫。 解題分析
LeetCode 263 Ugly Number:判斷醜數
題目描述 編寫程式判斷給定數是否為醜數。醜數定義:質因子僅包含 2, 3, 5 的正整數。例如 6, 8 是醜數,14 不是(含質因子 7)。規定 1 為醜數。
LeetCode 257 Binary Tree Paths:二叉樹根到葉路徑
題目描述 給定一棵二叉樹,返回所有從根節點到葉子節點的路徑。例如: 1 / \ 2 3 \ 5 輸出:3] 解題思路 本質是二叉