面试题:圆圈中最后剩下的数

题目描述:0,1,...n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字,求圆圈里最后剩下的数字

方法1:约瑟夫环

public class Solution {
    public int LastRemaining_Solution(int n, int m) {
        if(n==0||m<1) return -1;
        int last=0;
        for(int i=2;i<=n;i++){
            last=(last+m)%i;
        }
        return last;
    }
}

方法2 :环形链表

原文地址:https://www.cnblogs.com/Aaron12/p/9516036.html