【leetcode】圆圈中最后剩下的数字

 

int lastRemaining(int n, int m){
    int i = 0;
    int index = 0;  //初始值 剩下一个人  胜利者坐标为0
    for (i = 2; i < n + 1; i++)     //递推到剩下n个人 胜利者的坐标
    {
        index = (index + m) % i; //=右边的index 为 i-1层对于本层的偏移值 i表示每层的总人数 
    }
    return index;
}

 

posted @ 2020-08-21 13:47  温暖了寂寞  阅读(147)  评论(0编辑  收藏  举报