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

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

http://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6

  1. 画成圈进行做题。
  2. 一般就会涉及加一个固定的长度。以及对一个数取余数。
  3. 其余看注释即可。

图片说明

class Solution {
public:
    int LastRemaining_Solution(int n, int m) {
        if(n<=0) return -1;


        int ans = 0;//第一个孩子是从0开始的,(已经删除过一个元素)
        for(int i =2;i<=n;i++){
            ans = (ans+m)%i;//第二个孩子会用到上一个孩子的结果,并且指的是上个孩子数的时候以及删掉了一个孩子,然后+m
                            // 下一个孩子数的位置在哪。数学规律中的假设
        }

        return ans;
    }
};
剑指Offer 文章被收录于专栏

剑指offer的解析结合

全部评论

相关推荐

05-13 00:41
已编辑
北京邮电大学 Java
理性的杰克刷牛客:ai肯定要有的,最好学一下agent方向加一个智能客服什么的进去,并且多加点什么skill,mcp啥的,另外你现在的项目深度有些浅,这些功能都太简单了,而且也不是真正能扛高并发的实现,没有什么太大的亮点,可以去网上找点更有深度的项目。可以先投一些中小厂,有实习经历以后再去大厂,你现在这个大厂可能机会不大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务