398. Random Pick Index

简单,一开始打算用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); */