Hash-Table
LeetCode 3843: First Element with Unique Frequency
·1 min
LeetCode
Medium
Hash-Table
Counting
Array
LeetCode 3843 note: count each value, then count how many values share each count; the first element from the left whose count is its own is the answer
LeetCode 3842: Toggle Light Bulbs
·1 min
LeetCode
Easy
Hash-Table
Simulation
Array
LeetCode 3842 note: toggle membership in a set, or keep bulbs appearing an odd number of times, then sort
LeetCode 3839: Number of Prefix Connected Groups
·1 min
LeetCode
Medium
Hash-Table
String
Counting
LeetCode 3839 note: words sharing the first k characters are connected, so count by word[:k]; exclude words shorter than k
LeetCode 3719: Longest Balanced Subarray I
·2 mins
LeetCode
Medium
Hash-Table
Prefix-Sum
Segment-Tree
Array
LeetCode 3719 note: n is only 1500, so fix the left end and extend right, maintaining distinct odds and evens in two sets
LeetCode 1570: Dot Product of Two Sparse Vectors
·2 mins
LeetCode
Medium
Two-Pointers
Design
Hash-Table
Array
LeetCode 1570 note: store only non-zero (index, value) pairs, and compute the dot product by merging the two index-sorted lists with two pointers, multiplying only on equal indices
LeetCode 244: Shortest Word Distance II
·2 mins
LeetCode
Medium
Two-Pointers
Design
Hash-Table
String
Array
LeetCode 244 note: precompute each word’s positions (sorted by construction), then answer each query by merging the two position lists with two pointers, always advancing the smaller one
LeetCode 442: Find All Duplicates in an Array
·1 min
LeetCode
Medium
Hash-Table
Array
LeetCode 442 note: values are in 1..n, so mark v with the sign of nums[v-1]; on the second visit it is already negative
LeetCode 41: First Missing Positive
·3 mins
LeetCode
Hard
Hash-Table
Array
LeetCode 41 note: the answer is in 1..n+1; replace impossible values with n+1 (not 0) and mark v as seen with the sign of nums[v-1]
LeetCode 3684: Maximize Sum of At Most K Distinct Elements
·1 min
LeetCode
Easy
Greedy
Sorting
Hash-Table
LeetCode 3684 note: all values are positive, so deduplicate and take the k largest in descending order
LeetCode 2273: Find Resultant Array After Removing Anagrams
·2 mins
LeetCode
Easy
Hash-Table
String
Sorting
LeetCode 2273 note: repeatedly deleting a word that is an anagram of the previous one keeps exactly the words that are not anagrams of the last kept word; compare sorted strings
LeetCode 2122: Recover the Original Array
·3 mins
LeetCode
Hard
Two-Pointers
Sorting
Hash-Table
Enumeration
Array
LeetCode 2122 note: the smallest number is always in lower, so enumerating its partner fixes k; after sorting, two pointers pair each smallest unmatched number with the number 2k above it
LeetCode 923: 3Sum With Multiplicity
·4 mins
LeetCode
Medium
Two-Pointers
Sorting
Hash-Table
Counting
Array
LeetCode 923 note: sort, fix the first number, and find the other two with converging pointers; equal end values are counted with a combination, different ones by multiplying each end’s duplicate count