↓快轉到主要內容

Enumeration

Array 陣列掃描
·3 分鐘
演算法 Array Simulation Enumeration
相鄰比較與走過單調段(上坡、下坡、山峰與山谷)、一次掃描維護前綴 / 後綴的最大值與總和、小範圍枚舉配對,以及用 tuple 當 key 處理平手
LeetCode 2761: Prime Pairs With Target Sum
·1 分鐘
LeetCode Medium Math Number-Theory Sieve Enumeration Array
LeetCode 2761 解題筆記:篩出 < n 的質數,x 從小到大、只看到 n / 2,x 和 n - x 都是質數就是一對
LeetCode 3548: Equal Sum Grid Partition II
·2 分鐘
LeetCode Hard Prefix-Sum Hash-Table Matrix Enumeration
LeetCode 3548 解題筆記:枚舉橫切(直切用轉置),兩邊差值要等於較大那邊某一格的值;那一邊只有一列或一欄時只能去掉兩端,否則任何一格都可以
LeetCode 3984: Divisible Game
·2 分鐘
LeetCode Medium Dynamic-Programming Kadane Math Number-Theory Enumeration
LeetCode 3984 解題筆記:k 是合數時,換成它的質因數只會更好(能整除的更多、k 更小),所以只要試每個數的質因數加上 2;每個候選 k 跑一次 Kadane
LeetCode 1878: Get Biggest Three Rhombus Sums in a Grid
·1 分鐘
LeetCode Medium Matrix Enumeration Heap
LeetCode 1878 解題筆記:枚舉每個頂點和大小,沿四條邊走一圈加總,取前三大的不同值
LeetCode 3713: Longest Balanced Substring I
·1 分鐘
LeetCode Medium Hash-Table String Counting Enumeration
LeetCode 3713 解題筆記:固定起點往右擴;「每種字元次數都一樣」等於「最大次數 × 種類數 = 長度」,每一步 O(1) 判斷
LeetCode 3910: Count Connected Subgraphs with Even Node Sum
·1 分鐘
LeetCode Hard Bit-Manipulation Enumeration Graph Union-Find
LeetCode 3910 解題筆記:n 很小,用位元遮罩枚舉所有子集合,先檢查和是不是偶數,再檢查誘導子圖是否連通
LeetCode 3833: Count Dominant Indices
·1 分鐘
LeetCode Easy Array Enumeration
LeetCode 3833 解題筆記:從右往左維護後綴總和,比較 nums[i] × 右邊個數 > 右邊總和,不用浮點數也不會包含自己
LeetCode 3827: Count Monobit Integers
·1 分鐘
LeetCode Easy Bit-Manipulation Enumeration
LeetCode 3827 解題筆記:每一位都一樣的數只有 0 和 2^k - 1;個數就是 (n + 1).bit_length()
LeetCode 2122: Recover the Original Array
·2 分鐘
LeetCode Hard Two-Pointers Sorting Hash-Table Enumeration Array
LeetCode 2122 解題筆記:最小的數一定在 lower,枚舉它的配對決定 k;排序後用兩個指針把每個最小的未配對數配給 +2k 的數
LeetCode 3804: Number of Centered Subarrays
·1 分鐘
LeetCode Medium Hash-Table Enumeration Array
LeetCode 3804 解題筆記:固定左端點往右擴,邊加總邊把元素放進集合,總和在集合裡就算一個
LeetCode 3799: Word Squares II
·1 分鐘
LeetCode Medium Backtracking Enumeration String
LeetCode 3799 解題筆記:四層枚舉,每一層先用角落字母剪枝,排序後輸出自然就是字典序