直接看题:
1535. 找出数组游戏的赢家
给你一个由 不同 整数组成的整数数组 arr 和一个整数 k 。
每回合游戏都在数组的前两个元素(即 arr[0] 和 arr[1] )之间进行。比较 arr[0] 与 arr[1] 的大小,较大的整数将会取得这一回合的胜利并保留在位置 0 ,较小的整数移至数组的末尾。当一个整数赢得 k 个连续回合时,游戏结束,该整数就是比赛的 赢家 。
返回赢得比赛的整数。
题目数据 保证 游戏存在赢家。
示例 1:
输入:arr = [2,1,3,5,4,6,7], k = 2
输出:5
直接看代码。
code:
class Solution {
public:
int getWinner(vector<int>& arr, int k) {
int a=arr[0];
int loop=0;
int n=arr.size();
for(int i=1;i<n;i++){
if(a>arr[i]){
loop++;
}
else{
a=arr[i];
loop=1;
}
if(loop==k)
return a;
}
return a;
}
};
haole,这个模拟应该想想,其实不用模拟完,这样写会简单很多,代码很好懂。