力扣1823.找出游戏的获胜者
2022-05-04 的每日一题
题目描述
https://leetcode-cn.com/problems/find-the-winner-of-the-circular-game/
思路
有n个小朋友的话,最终的目标是淘汰掉n-1个小朋友。采用list数据结构做,然后每次删除一个小朋友,剩下的最后一个就是胜利的小朋友。
算是比较暴力的解法了
代码
class Solution {
public int findTheWinner(int n, int k) {
int outCount=0;
List<Integer> list = new ArrayList<>();
for(int i=1;i<=n;i++){
list.add(i);
}
int start=0;//开始位置idx
while(outCount<n-1){
int idx=(start+k-1)%list.size();
list.remove(idx);
start=idx;
outCount+=1;
}
return list.get(0);
}
}