Deliberate practice for algorithms

Build algorithm
muscle memory

Type canonical implementations character by character until the patterns live in your fingers. Binary search, BFS, DFS, dynamic programming, and more.

what you'll track
WPM
typing speed
ACC
accuracy
9
algorithms
Python and JavaScript implementations

Try it now -- type the code below

Click the editor and start typing. No account needed for your first drill.

WPM: 0Accuracy: 100%Time: 0s
Click to start typing
def binary_search(nums, target):
    left, right = 0, len(nums) - 1

    while left <= right:
        mid = left + (right - left) // 2

        if nums[mid] == target:
            return mid
        elif nums[mid] < target:
            left = mid + 1
        else:
            right = mid - 1

    return -1
Tab inserts spacesEsc to restartBackspace to correct
Reference
1def binary_search(nums, target):
2 left, right = 0, len(nums) - 1
3
4 while left <= right:
5 mid = left + (right - left) // 2
6
7 if nums[mid] == target:
8 return mid
9 elif nums[mid] < target:
10 left = mid + 1
11 else:
12 right = mid - 1
13
14 return -1

What you get with an account

Free tier includes 5 drills per day. Premium unlocks unlimited practice.

  • 01

    Drill mode with reference

    Practice with the implementation visible. Build muscle memory through repetition until the code flows naturally.

  • 02

    Challenge mode from memory

    Read a problem description, identify the right algorithm, and type it without looking. Test your pattern recognition.

  • 03

    Progress tracking over time

    Monitor WPM, accuracy, and completion rates across every algorithm. See your improvement session over session.

  • 04

    Python and JavaScript

    Every algorithm has both implementations. Switch languages and practice in whichever you will use in your interview.

9 essential algorithms

The most common interview patterns, ready to drill.

Sign up to access all →
01Binary Search
easy
02Depth-First Search
medium
03Breadth-First Search
medium
04Sliding Window
medium
05Two Pointers
easy
06Dynamic Programming
hard
07Backtracking
hard
08Hashing
easy
09Merge Sort
medium

Ready to build the habit?

5 free drills per day. Track your progress. No credit card required.