← All questions
MediumCoding
Insert Delete GetRandom O(1)
Asked at
AmazonDED. E. Shaw & Co
1Give yourself 5 minutes
2Answer out loud, not in your head
3Then compare with the answer below
0
Stuck? Show a way to structure it+
- 01Pair an array with an index map
- 02Reject duplicate inserts
- 03Swap target with final array item on delete
- 04Repair the moved index
- 05Sample an integer index uniformly
Reference answer
Then expect these follow-ups
How would you make this thread-safe?
Tests: follow-up reasoning
Why is a linked list unsuitable for getRandom?
Tests: correctness reasoning
Free to read · better with Enzo
Practice this out loud with Enzo
Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.
Next question