1823. 找出游戏的获胜者
代码(c++)
///leetcode1823,找出游戏的获胜者
#include<iostream>
#include<queue> # 队列
using namespace std;
class Solution {
public:
int findTheWinner(int n, int k) {
if (n == 1) return 1;
queue<int> myqueue; # 队列
// 入列所有人
for (int i = 0; i < n; i++) {
myqueue.push(i + 1);
}
while (myqueue.size() > 1) {
// 取出头,放到尾,k-1次
for (int i = 0; i < k-1; i++) {
int tmp = myqueue.front();
myqueue.pop();
myqueue.push(tmp);
}
// 删除第k个人
myqueue.pop();
}
return myqueue.front();
}
};
int main() {
Solution s;
int ans = s.findTheWinner(6, 5);
return 0;
}
|