题解 | #孩子们的游戏(圆圈中最后剩下的数)#

孩子们的游戏(圆圈中最后剩下的数)

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

#算法##算法笔记#
全部评论

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务