zoukankan      html  css  js  c++  java
  • 约瑟夫环问题

    题目:0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这

    个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。

    例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。

    输入: n = 5, m = 3
    输出: 3
    

    Code:

    public int lastRemaining(int n, int m) {
            List<Integer> list = new ArrayList<>();
            for(int i=0; i<n; i++)list.add(i);   //遍历存入
    
            int index=0;
            while(n > 1){
                index = (index + m - 1)%n;      //删除当前循环到的数字
                list.remove(index);
                n--;        //最后剩一个 跳出
            }
            return list.get(0);
        }
    
  • 相关阅读:
    团队冲刺八
    第十一周学习进度
    团队冲刺七
    团队冲刺六
    团队冲刺五
    冲刺第五天
    冲刺第四天
    冲刺第三天
    冲刺第二天
    冲刺第一天
  • 原文地址:https://www.cnblogs.com/xiaofff/p/12600375.html
Copyright © 2011-2022 走看看