黑马程序员技术交流社区

标题: 今天写了一个约瑟夫环的代码,大家评论一下 [打印本页]

作者: guyouzhong    时间: 2017-1-14 12:24
标题: 今天写了一个约瑟夫环的代码,大家评论一下

[Java] 纯文本查看 复制代码
         * 1.定义一个count计数器,
         * 2.遍历集合,当count累加到3的倍数时候,删除该元素,并--i一次;
         *   每次往后移动一格,重置i=((++i)%(arrayList.size())),并且count自增;
         * 3.当集合中只剩下一个元素的时候,跳出循环返回那个0索引对应的幸运数
         * @param arrayList
        public static int getLucky(int num){
         ArrayList<Integer> arrayList = new ArrayList<>();
         for(int i = 0;i < num; i++){
                arrayList.add(i + 1);
          }
          int count = 1;
          for(int i = 0; arrayList.size() != 1; i = ((++i)%(arrayList.size())),++count){
                if(count%3 == 0)
                       arrayList.remove(i--);
          }
          return arrayList.get(0);
}


作者: 烟雨清寒时    时间: 2017-1-14 12:35
约瑟夫环。。。好像迪司机给我们讲的。。。。挺有意思

作者: 一片叶~    时间: 2017-1-14 14:53
学习,学习
作者: wqq1317    时间: 2017-1-14 17:25
长长见识

作者: 月微怜    时间: 2017-1-14 23:14
感谢分享,,已复制研究中。。。
作者: 赵亚强    时间: 2017-1-14 23:18
学习一下





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2