Critical foundations
Arrays, hashing, two pointers, sliding window, and the base of time complexity.
Editable checklist to track your progress in data structures and algorithms. You can check tasks directly on the page, and your progress is automatically saved in the browser.
Calculated automatically from the checked boxes.
Arrays, hashing, two pointers, sliding window, and the base of time complexity.
Stack, linked lists, and binary search. This is where you start gaining real interview speed.
This week is key because this is where many candidates get filtered out in technical interviews.
Heap, backtracking, dynamic programming, and mixed problems to lock in speed.
If you get comfortable with these, you can handle a large portion of technical interviews with much more confidence.
Useful when the input is sorted or when you need to compare left and right positions efficiently.
Great for shortest path in unweighted graphs, tree levels, and wave-like traversal.
Core pattern for course scheduling, dependency resolution, and DAG ordering.
Very common in trees, grids, recursion, connected components, and backtracking-like exploration.
Helpful when you need the smallest, largest, or top-k items without sorting everything.
Used when the array is not perfectly sorted but still contains exploitable structure.
Classic for subsets, permutations, combinations, and search spaces with many choices.
One of the highest-value patterns for substring, subarray, and dynamic-range problems.
task and change the id, the for, and the text.h3, h4, and span.topic-tag.checkboxes.checked attribute to the input.localStorage, so the browser keeps it even after refresh.