import java.util.*;
public class test8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader=new Scanner(System.in);
int from=reader.nextInt();
int to=reader.nextInt();
ArrayList<Integer> array=new ArrayList<Integer>();
for(int i=from;i<=to;i++){
array.add(i);
}
int count=to-from+1;
Iterator iterator=array.iterator();
int num=0;
int flagnum=array.get(1);
int tongji=1;
while(count>1){
if(iterator.hasNext()){
iterator.next(); //继续往下数;
++num;
}else
{ //System.out.println(array);
iterator=array.iterator();
flagnum=array.get(tongji);
tongji++;
//System.out.println(flagnum);
if(array.size()<flagnum){
break;
}
}
if(num==flagnum){
num=0;
iterator.remove();
--count;
}
}
if(array.contains(from))
array.remove(0);
if(array.contains(to))
array.remove(array.size()-1);
System.out.println(array.size());
}
}
感悟:由于arraylist删除后导致下标的变化,所以无法对其删除后进行定位,那么我们利用迭代器来实现对它的操作。