Data Structures & Algorithms

Master the core concepts required for software engineering interviews. Clear explanations, cheatsheet formulas, and 3,400+ LeetCode solutions in Java, Python & Python3.

[]

Arrays & Strings

Master Two Pointers, Sliding Window, and Prefix Sums. Includes 680 problems.

Study Arrays →

Linked Lists

Pointer manipulation, fast & slow pointers, and cycle detection. Includes 47 problems.

Study Linked Lists →

Trees

DFS/BFS traversals, Binary Search Trees, and Heaps. Includes 189 problems.

Study Trees →

Graphs

Topological Sort, Shortest Path, Union-Find, BFS & DFS. Includes 301 problems.

Study Graphs →

Sorting & Searching

Binary Search variants, Merge Sort, Two Pointers. Includes 414 problems.

Study Sorting →
#

Hash Tables

O(1) lookups, frequency counting, and sliding window. Includes 253 problems.

Study Hash Tables →

Dynamic Programming

Memoization, Tabulation, and recognizing DP subproblems. Includes 447 problems.

Study DP →
π

Math & Number Theory

GCD, fast power, prime sieves, modular arithmetic. Includes 369 problems.

Study Math →

Greedy Algorithms

Interval scheduling, activity selection, and locally optimal choices. Includes 368 problems.

Study Greedy →

Bit Manipulation

XOR tricks, bit masking, and O(1) binary solutions. Includes 74 problems.

Study Bits →

Backtracking

Permutations, combinations, N-Queens, Sudoku, and Word Search. Includes 59 problems.

Study Backtracking →

Design & Data Structures

LRU/LFU Cache, Trie, RandomizedSet, Iterator design. Includes 98 problems.

Study Design →

Miscellaneous

Recursion, Simulation, Geometry, Concurrency, and JS problems. Includes 112 problems.

Study More →