题解 | 环形链表的约瑟夫问题

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @param m int整型
     * @return int整型
     */
    int ysf(int n, int m) {
        // write code here
      bool que[n + 1]; // 记录此编号的人是否在队里
    // 初始化所有人都在队里
    for (int i = 0; i < n + 1; i++) {
        que[i] = true;
    }

    int inQue = n; // 在队里的人数
    int cnt = 0; // 当前报号
    int pos = 0; // 当前位置
    int end=0;
    // 如果队里还有人
    while (inQue > 0) {
       if (cnt==m) {
           que[pos]=false;
           inQue--;
           cnt=0;
           end=pos;
          // printf("%d ",pos);
       }
        pos++;
        if (pos==n+1) {
            pos=1;
        }
        if (que[pos]==true) {
            cnt++;
        }
    }
        return end;
    }
};

全部评论

相关推荐

06-07 00:53
已编辑
美团_后端开发(实习员工)
今天刚二面完,还没复盘面经,复盘之后发出来,许愿OC啊啊啊啊!&nbsp;&nbsp;&nbsp;&nbsp;base:北京-核心本地商业自我介绍;闲聊讲讲你项目中你认为比较有挑战的地方追问具体怎么实现的乐观锁;讲讲这个threadLocal怎么存的用户变量;threadLocal什么时候remove呢?讲讲双拦截器;追问先后顺序追问怎么实现的先后用返回空对象解决缓存穿透问题,为什么不用本地缓存呢?有没有别的解决缓存穿透问题的方法?追问布隆过滤器会存在误判的情况,如果误判会怎么样?有没有想过解决方案使用bitMap解决签到,讲讲bitMap吧;追问bit多少位跨月签到统计,如何实现呢?使用bitMap是为了节省内存,有没有算过相比于MySQL节省了多少内存使用sortedset实现点赞排行,有没有想过range查询,如果数据量很大,有百万数据量,怎么去分析查询为什么使用sortedset手撕,LRU你的专业是人工智能,你了解哪些大模型?有用过哪些大模型你觉得大模型编程工具带给你哪些帮助?有用过cursor么?平时用什么数据库?MySQL索引为什么用B+树讲讲决定层高的因素用过哪些索引讲讲慢索引,怎么解决如何知道查询用到了哪个索引数据库InnoDB的默认隔离级别是什么?有什么问题?怎么解决的幻读问题?间隙锁怎么上锁?如果1-100行,搜索5-10行,锁哪个行?深分页问题讲讲java有哪些锁讲讲synchronized和volatile的区别线程池怎么创建了解哪些拒绝策略?这些拒绝策略都什么时候用呢springboot相比于springmvc,有哪些好处?讲讲Bean对象怎么初始化的;AOP有什么作用呢?什么地方可以用到AOP?比如你项目中动态代理哪几种方式?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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