← 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
Hiring now
Software engineer roles are open right now
landed applies to roles like these for you, on each company’s own site, with answers written for the role.
Get 5x interviews10 free auto-applies. No card.

Senior Software Engineer -.NET
Tyler Technologies · Annapolis, Maryland

Software Development Engineer II
SaaS Labs · Bengaluru, Karnataka, India

Advanced Software Engineer - Product Architect (Legal, Safety, and Risk)
Metropolitan Transportation Authority · New York, NY
Next question