Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 398. Random Pick Index
題目:

解答:
class Solution {
private:
unordered_map<int, vector<int>> mp;
public:
Solution(vector<int>& nums) {
for (int i = 0; i < nums.size(); ++i) {
mp[nums[i]].push_back(i);
}
}
int pick(int target) {
vector<int> &v = mp[target];
int idx = rand() % v.size();
return v[idx];
}
};
/**
* Your Solution object will be instantiated and called as such:
* Solution* obj = new Solution(nums);
* int param_1 = obj->pick(target);
*/