Medium data structure and algorithm practice puzzle.
Given a list and a list of draws, shuffle the list and return it. Walk from the last index down to index 1. At each step, swap the item there with the item at the next draw, which is always between 0 and the current index. This is the Fisher-Yates shuffle, and done this way every order is equally likely, so no piece lands near its home more often than it should.
Solve it three ways: snap the jigsaw pieces together, fill in the blanks, or type it from scratch against the tests. This one is free.
Every line of the solution comes with a note explaining why it is there, and a step by step replay shows the code running. At level 3, where you type it yourself, you can ask for an AI mock interview on this problem that ends with a hiring manager's scorecard.
Then grow it into a real project with the Software Engineer button: this puzzle becomes the Event Change Feed, a pipeline you can run and download. See every Software Engineer project.
Browse all 576 puzzles