* 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);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |