We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 49f1b21 commit 8c403a3Copy full SHA for 8c403a3
380 Insert delete get random O(1).cpp
@@ -0,0 +1,38 @@
1
+class RandomizedSet {
2
+ vector<int> elements;
3
+ unordered_map<int,int> val_to_index;
4
+
5
+public:
6
7
+ RandomizedSet() {
8
+ }
9
10
+ bool contains(int val) {
11
+ return val_to_index.find(val)!=val_to_index.end();
12
13
14
+ bool insert(int val) {
15
+ if (contains(val))
16
+ return false;
17
18
+ elements.push_back(val);
19
+ val_to_index[val]=elements.size()-1;
20
+ return true;
21
22
23
+ bool remove(int val) {
24
+ if (!contains(val))
25
26
27
+ auto it=val_to_index.find(val);
28
+ elements[it->second]=elements.back();
29
+ elements.pop_back();
30
+ val_to_index[elements[it->second]]=it->second;
31
+ val_to_index.erase(val);
32
33
34
35
+ int getRandom() {
36
+ return elements[rand()%elements.size()];
37
38
+};
0 commit comments