class Solution {
public int getWinner(int[] arr, int k) {
int tk=0;
while(tk<k){
if(arr[0]<arr[1]){
tk=1;
int temp=arr[0];
arr[0]=arr[1];
for(int i=1;i<arr.length-1;i++){
arr[i]=arr[i+1];
}
arr[arr.length-1]=temp;
}else{
++tk;
int temp=arr[1];
for(int i=1;i<arr.length-1;i++){
arr[i]=arr[i+1];
}
arr[arr.length-1]=temp;
}
}
return arr[0];
}
}
这个简单模拟超时了,还是要只动指针的好
class Solution {
public int getWinner(int[] arr, int k) {
int tk=1;
int max=Math.max(arr[0],arr[1]);
if(k==1){
return max;
}
for(int i=2;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
tk=1;
}else{
tk++;
if(tk>=k){
return max;
}
}
}
return max;
}
}