leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0380.cpp (582B)
0 class RandomizedSet {
1 public:
2 RandomizedSet() {}
4 bool insert(int val) {
5 if (um.count(val)) return false;
6 nums.emplace_back(val);
7 um[val] = nums.size() - 1;
8 return true;
9 }
11 bool remove(int val) {
12 if (!um.count(val)) return false;
13 int last = nums.back();
14 um[last] = um[val];
15 nums[um[val]] = last;
16 nums.pop_back();
17 um.erase(val);
18 return true;
19 }
21 int getRandom() { return nums[rand() % nums.size()]; }
23 private:
24 vector<int> nums;
25 unordered_map<int, int> um;
26 };