import java.util.*;
public class Solution {
public int LastRemaining_Solution(int n, int m) {
//输入不合法
if(n<1||m<1){
return -1;
}
ArrayList<Integer> list=new ArrayList<Integer>();
for(int i=0;i<n;i++){
list.add(i);
}
int listSize=n;
Iterator<Integer> it=list.iterator();
while(list.size()>1){
for(int i=1;i<=m;i++){
if(it.hasNext()){
it.next();
}else{
//当迭代器扫描到链表尾部时,需要把迭代器移动到链表的头部
it=list.iterator();
it.next();
}
}
it.remove();
listSize--;
}
it=list.iterator();
return it.next();
}
}
约瑟夫环的问题
最新推荐文章于 2022-05-04 19:46:17 发布