题解 | #孩子们的游戏(圆圈中最后剩下的数)#
孩子们的游戏(圆圈中最后剩下的数)
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
#算法##算法笔记#