题目链接:https://leetcode-cn.com/problems/random-pick-index/
思路:用unordered_map寻出数组的下标,返回下标数组的随机值
代码:
class Solution {
public:
unordered_map<int, vector<int>> m;
Solution(vector<int>& nums) {
for(int i = 0; i < nums.size(); i++ ){
m[nums[i]].push_back(i);
}
}
int pick(int target) {
auto &a = m[target];
return a[rand() % a.size()];
}
};
/**
* Your Solution object will be instantiated and called as such:
* Solution* obj = new Solution(nums);
* int param_1 = obj->pick(target);
*/