- 可以看成一个擂主位+一个队列
- 不断让队列中的队首出来应战,再进行计数就可以了
class Solution {
public:
int getWinner(vector<int>& arr, int k) {
if(arr.empty()) return 0;
int winner = arr[0];
queue<int> q;
int len = arr.size();
for(int i=1; i<len; i++)
q.push(arr[i]);
int cnt=0;
while(cnt<k ){
if(cnt > len) return winner;
int tmp = q.front();
if(winner>tmp){
q.pop();
cnt++;
q.push(tmp);
}else{
cnt=1;
q.push(winner);
winner = tmp;
q.pop();
}
}
return winner;
}
};