约瑟夫环
class Solution {
public int lastRemaining(int n, int m) {
// 只有一个人时,结果的坐标为0
int index = 0;
// 人数从两个开始,多一个人,结果的坐标相当于向右移了m位,再对当前人数取模求得新结果的坐标
for(int i = 2; i <= n; i++){
index = (index + m) % i;
}
return index;
}
}
本文提供了一种解决约瑟夫环问题的高效算法实现。通过迭代计算每个人被报数淘汰后的胜者位置,最终确定最后一个幸存者的初始位置。
217

被折叠的 条评论
为什么被折叠?



