Design a data structure that supports insert, delete, and getRandom in average O(1) time.
Sample Input:
["RandomizedSet","insert","remove","insert","getRandom","remove","insert","getRandom"], [[],[1],[2],[2],[],[1],[2],[]]
Sample Output:
[null,true,false,true,2,true,false,1]
Hints
Hint 1
Use array for O(1) random access
Hint 2
Use hash map for O(1) insert/delete
Hint 3
Map values to their indices in the array