arrays / hashing
find pair
seen before
duplicates
frequency
count occurrences
first unique
group by
two pointers
sorted array
pair sum
palindrome
remove duplicates
partition
compare both ends
sliding window
substring
subarray
contiguous
longest
shortest
max/min window
at most k
exactly k
stack
next greater
next smaller
previous greater
histogram
temperature
stock span
heap / priority queues
top k
kth largest
kth smallest
stream
contiguously updating max/min
scheduling
merge sorted lists
binary search
sorted
rotated sorted
search target
minimum feasible value
maximize minimum
minimize maximum
find first true
linked list
reverse
remove nth
cycle
merge lists
reorder
in place
constant extra space
trees
path
depth
level
traversal
ancestor
graphs
dependencies
connectivity
shortest path
islands
scheduling
network
intervals
meetings
overlapping times
ranges
scheduling
backtracking
all subsets
combinations
choose k elements
reorder
all possible arrangements
every ordering
maze
path exists
word search
route generation
dynamic programming
count ways
max/min path
choose or skip
subsequence
optimization