简单,一开始打算用map存储位置,发现空间不足,因此没有存储了。采用了直接暴力求解的方法。
class Solution {
private:
vector<int> nums;
//map<int,vector<int>> index;
public:
Solution(vector<int> nums) {
this->nums=nums;
/*for(int i=0;i<nums.size();i++)
index[nums[i]].push_back(i);*/
}
int pick(int target) {
vector<int> targetIndex;
for(int i=0;i<nums.size();i++)
{
if(nums[i]==target)
targetIndex.push_back(i);
}
int index=rand()%targetIndex.size();
return targetIndex[index];
}
};
/**
* Your Solution object will be instantiated and called as such:
* Solution obj = new Solution(nums);
* int param_1 = obj.pick(target);
*/