1535. 找出数组游戏的赢家
状态:AC
代码:
class Solution {
public:
int getWinner(vector<int>& arr, int k) {
if(k >= arr.size())
return *max_element(arr.begin(),arr.end());
deque<int> q;
unordered_map<int,int> mp;
for(int i:arr){
q.push_back(i);
}
int a,b;
int big,small;
while(1){
a = q.front();
q.pop_front();
b = q.front();
q.pop_front();
big = max(a,b);
small = min(a,b);
q.push_front(big);
q.push_back(small);
if(mp.find(big) == mp.end()){
mp[big] = 1;
if(mp[big] == k)
return big;
}else{
mp[big]++;
if(mp[big] == k)
return big;
}
}
}
};