原题链接
注意:在模拟的时候,是不断在后面添加新的值
class Solution {
public int lastRemaining(int n, int m) {
int ans = 0;
// 最后一轮剩下2个人,所以从2开始反推
//要统计最后剩下的数字是几 (当前index + m) % 上一轮剩余数字的个数
for (int i = 2; i <= n; i++) {
ans = (ans + m) % i;
}
return ans;
}
}