Grokking-the-coding-interview

sliding window

top k elements

k way merge

topological sort

merge intervals

subsets

fast_slow pointers

dynamic programming

breadth first search

depth first search

modified binary search

miscellaneous

bitwise XOR

two heaps

two pointers

in-place reversal of a linkedlist

cyclic sort