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

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

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

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

相关推荐

不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
头像
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务