...

/

DIY: Insert Delete GetRandom O(1) - Duplicates Allowed

DIY: Insert Delete GetRandom O(1) - Duplicates Allowed

Solve the interview question "Insert Delete GetRandom O(1) - Duplicates Allowed" in this lesson.

Problem statement

Implement a set data structure that allows duplicates and can perform the following operations:

  • insert(val): This function should insert val into the set (if the set does not contain it already). It should return false if the val already exists in the set. Otherwise, it should return true.
  • remove(val): If the val is present, this function should remove val from the set and return true. If the val does not exist in the set, the function should return false.
  • getRandom(): This function should return a random element from the set in constant time.

Note: Your implementation should aim for constant running time (on average) for each operation. ...

Constraints