题解 | #孩子们的游戏(圆圈中最后剩下的数)#
孩子们的游戏(圆圈中最后剩下的数)
https://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6
public class Solution {
// 方式一:递归
public int LastRemaining_Solution(int n, int m) {
return (n == 1) ? 0 : (LastRemaining_Solution(n - 1, m) + m) % n;
}
// 方式二:非递归
public int LastRemaining_Solution2(int n, int m) {
int res = 0;
for (int i = 2; i <=n; i++) {
res = (res+m)%i;
}
return 0;
}
}
解题思想:约瑟夫环问题,公式:f(n,m)=(f(n-1,m)+m)%n
#算法##算法笔记#
