Medium data structure and algorithm practice puzzle.
Given a vector, scale it to length 1 and return it, rounded to 3 decimals. Find its length, the square root of the sum of squares, and divide every value by it. So [3, 4] has length 5 and becomes [0.6, 0.8]. Once two vectors are length 1, their dot product IS their cosine similarity, which is why vector databases do this up front.
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 Sample Range Service, a pipeline you can run and download. See every Software Engineer project.
Browse all 576 puzzles