Bit-Manipulation
LeetCode 137: Single Number II
·1 分鐘
LeetCode
Medium
Array
Bit-Manipulation
LeetCode 137 解題筆記:其他數都出現三次,逐位元統計 1 的個數取 mod 3,剩下的位元就是答案;注意負數
LeetCode 287: Find the Duplicate Number
·1 分鐘
LeetCode
Medium
Array
Two-Pointers
Binary-Search
Bit-Manipulation
LeetCode 287 解題筆記:把 i -> nums[i] 看成鏈結串列,重複的值就是環的入口,用 Floyd 判圈;O(1) 空間、不改陣列
LeetCode 90: Subsets II
·1 分鐘
LeetCode
Medium
Array
Backtracking
Bit-Manipulation
LeetCode 90 解題筆記:先排序;遇到跟前一個相同的數,只延伸上一步新產生的那些子集合
LeetCode 78: Subsets
·1 分鐘
LeetCode
Medium
Array
Backtracking
Bit-Manipulation
LeetCode 78 解題筆記:每個元素選或不選;迭代寫法是每加入一個數,就把現有的每個子集合複製一份並加上它
LeetCode 1018: Binary Prefix Divisible By 5
·1 分鐘
LeetCode
Easy
Array
Bit-Manipulation
LeetCode 1018 解題筆記:前綴每多一位就是 x = 2x + bit,只要保留 x mod 5,數字不會變大
LeetCode 868: Binary Gap
·1 分鐘
LeetCode
Easy
Bit-Manipulation
LeetCode 868 解題筆記:記錄上一個 1 的位置,每遇到新的 1 就算距離取最大值
LeetCode 832: Flipping an Image
·1 分鐘
LeetCode
Easy
Array
Two-Pointers
Bit-Manipulation
Matrix
LeetCode 832 解題筆記:每一列先左右反轉再把 0、1 互換;可以用左右指針同時做
LeetCode 762: Prime Number of Set Bits in Binary Representation
·1 分鐘
LeetCode
Easy
Math
Bit-Manipulation
Primality-Test
LeetCode 762 解題筆記:數字最多 10^6 < 2^20,1 的個數最多 19,直接比對小質數集合
LeetCode 693: Binary Number with Alternating Bits
·1 分鐘
LeetCode
Easy
Bit-Manipulation
LeetCode 693 解題筆記:相鄰位元都不同,代表二進位字串裡沒有 00 也沒有 11;位元版本是 n ^ (n » 1) 全部是 1
LeetCode 645: Set Mismatch
·1 分鐘
LeetCode
Easy
Array
Hash-Table
Bit-Manipulation
Sorting
LeetCode 645 解題筆記:用總和算:missing = 1..n 的和 - set 的和,duplicate = 陣列總和 - set 的和
LeetCode 476: Number Complement
·1 分鐘
LeetCode
Easy
Bit-Manipulation
LeetCode 476 解題筆記:做一個跟 num 一樣長、全部是 1 的遮罩,num ^ mask 就是補數
LeetCode 461: Hamming Distance
·1 分鐘
LeetCode
Easy
Bit-Manipulation
LeetCode 461 解題筆記:x ^ y 的每個 1 就是一個不同的位元,數 1 的個數