A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


[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);
}

5 个回复

倒序浏览
约瑟夫环。。。好像迪司机给我们讲的。。。。挺有意思
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
学习,学习
回复 使用道具 举报
回复 使用道具 举报
感谢分享,,已复制研究中。。。
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马