teacher
Sign in
Practice

Solve a lot. Mostly a little above your level.

Rating grows from volume and honest effort: pick problems about 100–300 above your current rating, give each one real time, and upsolve what you miss in contests. This page keeps the list; Codeforces is where the work happens.

Codeforces

Connect your handle to mark solved problems automatically and get problems in your zone. No password needed — only public data.

Today’s three

Connect a handle for personalised picks; until then they follow the rung you select below.

Loading…

Rating ladder

    LeetCode by topic

    0/154 solved · free problems only

    The interview-style set: every LeetCode problem from the lessons, grouped by technique in learning order. Good for placement and interview prep; pair it with Codeforces for contest speed.

    Complexity and Constraints

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Math Basics for Contests

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Implementation and Simulation

    0/5 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Sorting and Binary Search Basics

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    STL and Java Collections

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Arrays and Strings

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Prefix Sums

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Hashing and Frequency Counting

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Two Pointers

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Sliding Window

    0/5 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Binary Search

    0/5 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Binary Search on the Answer

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Stacks, Queues and Monotonic Structures

    0/6 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Recursion

    0/6 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Backtracking

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Bit Manipulation

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Greedy Algorithms

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Sweep Line and Intervals

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Number Theory Basics

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Combinatorics

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Heaps and Priority Queues

    0/5 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Trees Basics

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Graphs, BFS and DFS

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Topological Sort

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Shortest Paths

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Disjoint Set Union

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Minimum Spanning Tree

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Dynamic Programming Basics

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    1D DP Patterns

    0/5 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    DP on Grids and Strings

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Knapsack DP

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Longest Increasing Subsequence

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Tree DP and Rerooting

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Bitmask DP

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Digit DP

    0/5 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Fenwick Tree

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Lazy Propagation

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    LCA and Binary Lifting

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Small-to-Large Merging and DSU on Tree

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    String Hashing

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    KMP and Z-function

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Trie (Prefix Tree)

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Game Theory, Nim and Grundy Numbers

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Probability and Expected Value

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Matrix Exponentiation

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    SCCs, Bridges and Articulation Points

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Interactive Problems

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Design a News Feed

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Design a Food Delivery System

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Command

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Threads and Locks

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    LLD Interview Framework

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Parking Lot

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    LRU Cache

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    BookMyShow

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    Order Matching Engine

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Learn the technique →

    From the lessons

    Every practice set, in lesson order. Learn the idea first — open the track — then come back here.

    DSA0/506

    Start Here

    0/6 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    How to Think About a Problem

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Language Setup and Contest Template

    0/8 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Complexity and Constraints

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Math Basics for Contests

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Implementation and Simulation

    0/14 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Sorting and Binary Search Basics

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    STL and Java Collections

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Arrays and Strings

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Prefix Sums

    0/12 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Hashing and Frequency Counting

    0/5 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Two Pointers

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Sliding Window

    0/12 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Binary Search

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Binary Search on the Answer

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Stacks, Queues and Monotonic Structures

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Recursion

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Backtracking

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Bit Manipulation

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Constructive Algorithms

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Greedy Algorithms

    0/5 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Sweep Line and Intervals

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Number Theory Basics

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Modular Arithmetic

    0/8 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Combinatorics

    0/8 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Heaps and Priority Queues

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Trees Basics

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Graphs, BFS and DFS

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Topological Sort

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Shortest Paths

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Disjoint Set Union

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Minimum Spanning Tree

    0/8 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Dynamic Programming Basics

    0/6 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    1D DP Patterns

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    DP on Grids and Strings

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Knapsack DP

    0/8 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Longest Increasing Subsequence

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Tree DP and Rerooting

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Bitmask DP

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Digit DP

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Sparse Table

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Fenwick Tree

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Segment Tree

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Lazy Propagation

    0/8 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Sqrt Decomposition and Mo's Algorithm

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    LCA and Binary Lifting

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Euler Tour on Trees

    0/7 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Small-to-Large Merging and DSU on Tree

    0/6 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    String Hashing

    0/8 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    KMP and Z-function

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Trie (Prefix Tree)

    0/9 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Game Theory, Nim and Grundy Numbers

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Probability and Expected Value

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Matrix Exponentiation

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    SCCs, Bridges and Articulation Points

    0/10 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Interactive Problems

    0/11 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →
    System Design0/2

    Design a News Feed

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Design a Food Delivery System

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →
    LLD0/13

    Command

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Threads and Locks

    0/3 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    LLD Interview Framework

    0/4 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Parking Lot

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    LRU Cache

    0/2 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    BookMyShow

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →

    Order Matching Engine

    0/1 solved

    Easiest first. Give each one an honest 30–45 minutes before reading a hint or the editorial. Core problems are the minimum.

    Open lesson →