幸运数

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删除后导致下标的变化,所以无法对其删除后进行定位,那么我们利用迭代器来实现对它的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值