Math
LeetCode 3618: Split Array by Prime Indices
·2 mins
LeetCode
Medium
Math
Number-Theory
Sieve
Array
LeetCode 3618 note: primality is about the index; a sieve of Eratosthenes marks all of 0..n-1 at once, faster than trial division per index
LeetCode 927: Three Equal Parts
·3 mins
LeetCode
Hard
Math
Array
LeetCode 927 note: every part has the same number of 1s, so count them; the third part always runs to the end of the array, fixing what each part must match, then check the parts do not overlap
LeetCode 1290: Convert Binary Number in a Linked List to Integer
·2 mins
LeetCode
Easy
Linked-List
Bit-Manipulation
Math
LeetCode 1290 note: walk head to tail, shifting the running value left by one and adding the new bit
LeetCode 3550: Smallest Index With Digit Sum Equal to Index
·1 min
LeetCode
Easy
Math
Array
LeetCode 3550 note: check indices in increasing order, computing each digit sum; the first match is the answer
LeetCode 1979: Find Greatest Common Divisor of Array
·1 min
LeetCode
Easy
Math
Number-Theory
Gcd
Array
LeetCode 1979 note: find the minimum and maximum, then take their GCD with Euclid’s algorithm
LeetCode 952: Largest Component Size by Common Factor
·2 mins
LeetCode
Hard
Math
Number-Theory
Union-Find
Hash-Table
Array
LeetCode 952 note: sharing a factor ⇔ sharing a prime factor; factor each number and union indices with the same prime factor using Union-Find, with no pairwise GCDs
LeetCode 3536: Maximum Product of Two Digits
·2 mins
LeetCode
Easy
Math
Sorting
LeetCode 3536 note: multiply the largest and second-largest digits; when a new maximum appears, the old maximum must move to second place
LeetCode 3518: Smallest Palindromic Rearrangement II
·3 mins
LeetCode
Hard
Math
Combinatorics
Counting
Hash-Table
String
LeetCode 3518 note: a palindrome is determined by its left half, so this is the k-th permutation of a multiset; try characters position by position and use permutation counts, updated in O(1), to find k’s branch
LeetCode 3492: Maximum Containers on a Ship
·1 min
LeetCode
Easy
Math
LeetCode 3492 note: at most n² cells and at most maxWeight // w by weight, so take the smaller, using integer division
LeetCode 1814: Count Nice Pairs in an Array
·1 min
LeetCode
Medium
Array
Hash-Table
Math
Counting
LeetCode 1814 note: rearrange the condition into nums[i] - rev(nums[i]) == nums[j] - rev(nums[j]), count pairs per value, and remember the modulus
LeetCode 396: Rotate Function
·2 mins
LeetCode
Medium
Array
Math
Dynamic-Programming
LeetCode 396 note: F(k) and F(k - 1) differ by one formula: F(k) = F(k - 1) + sum - n × the element moved to the front
LeetCode 313: Super Ugly Number
·2 mins
LeetCode
Medium
Array
Math
Dynamic-Programming
LeetCode 313 note: generalizing LC 264 with one pointer per prime; with a heap, avoid pushing the same number many times