Solve algorithm problems in JavaScript, run them against hidden tests right in your browser, and earn a balloon for every problem you crack.
No sign-up. Your progress is saved in this browser.
Practice follows the same loop as a real contest, without the setup.
Choose by difficulty or topic. Each problem comes with a clear statement and worked examples.
Code in the built-in editor. Your work is saved automatically, so you can leave and come back.
Your function runs against sample and hidden tests, including large inputs. Pass them all and the balloon is yours.
Everything you need to build speed and accuracy, nothing that gets in the way.
Correct but slow solutions fail with a time limit exceeded, just like on a real judge. You learn to think about complexity.
Your code is executed in a background worker on your own machine. Nothing is uploaded and there is no server to wait on.
When a sample test fails you see the input, the expected output and what your code returned. Hidden failures point you to edge cases.
Solved problems and your latest code are stored in this browser, so there is nothing to sign in to or sync.
Problems move from prefix sums and stacks up to dynamic programming, BFS and Dijkstra with a heap.
Add a problem by writing a statement, a reference solution and a list of inputs. Expected outputs are generated for you.
Open any problem to start. Dashed balloons are waiting to be earned.
No. There is nothing to sign up for. Your solved problems and saved code live in your browser's local storage.
JavaScript. You write a single function, such as twoSum(nums, target), and the runner calls it with each test input.
The returned value is compared with the expected output for every test. If your code runs longer than four seconds on the full set, the run ends with a time limit exceeded.
Progress is stored per browser and device. Clearing site data, or switching browsers, starts you fresh.
Yes. Open js/problems.js and add an entry with a title, statement, starter code, reference solution and test inputs.
Start with Two Sum and work your way up.