LeetCode
LeetCode 493: Reverse Pairs
·4 mins
LeetCode
Hard
Merge-Sort
Divide-and-Conquer
Two-Pointers
Counting
LeetCode 493 note: when the counting condition differs from the sort order, scan first, then merge
LeetCode 4051: Count Subarrays with Distant Sums
·5 mins
LeetCode
Hard
Merge-Sort
Prefix-Sum
Binary-Indexed-Tree
Biweekly-Contest
LeetCode 4051 note: prefix sums, complement counting, range counting, and the k = 0 edge case
LeetCode 2426: Number of Pairs Satisfying Inequality
·3 mins
LeetCode
Hard
Merge-Sort
Divide-and-Conquer
Two-Pointers
Counting
LeetCode 2426 note: simplify the inequality, then decide whether the matches form a prefix or a suffix
LeetCode LCR 170: Count Inversions (Sword Offer 51)
·3 mins
LeetCode
Hard
Merge-Sort
Divide-and-Conquer
Counting
LCR 170 note: count inversions during the merge step
LeetCode 912: Sort an Array
·3 mins
LeetCode
Medium
Sorting
Merge-Sort
Divide-and-Conquer
LeetCode 912 note: hand-written merge sort and the two bugs I hit
LeetCode 88: Merge Sorted Array
·3 mins
LeetCode
Easy
Two-Pointers
Merge-Sort
LeetCode 88 note: merge from the back with O(1) extra space
LeetCode 315: Count of Smaller Numbers After Self
·4 mins
LeetCode
Hard
Merge-Sort
Divide-and-Conquer
Binary-Indexed-Tree
Counting
LeetCode 315 note: merge sort with indices, plus a BIT solution
LeetCode 21: Merge Two Sorted Lists
·3 mins
LeetCode
Easy
Linked-List
Two-Pointers
Merge-Sort
LeetCode 21 note: the dummy node, and why Python assignment is not a copy
LeetCode 827: Making A Large Island
·3 mins
LeetCode
Hard
Dfs
Bfs
Matrix
Union-Find
LeetCode 827 note: label every island and record its size, then for each 0 add the sizes of the distinct neighboring islands plus 1
LeetCode 212: Word Search II
·2 mins
LeetCode
Hard
Trie
Backtracking
Matrix
LeetCode 212 note: build a Trie of all words, walk it during the grid DFS, remove words once found, and prune empty nodes
LeetCode 3203: Find Minimum Diameter After Merging Two Trees
·3 mins
LeetCode
Hard
Tree
Bfs
Dfs
Graph
Tree-Diameter
LeetCode 3203 note: connect the two centers; the answer is max(d1, d2, ceil(d1/2) + ceil(d2/2) + 1)
LeetCode 305: Number of Islands II
·3 mins
LeetCode
Hard
Union-Find
Hash-Table
Array
LeetCode 305 note: each new land cell adds an island, then merges with neighboring land, subtracting 1 per successful merge; skip repeated positions