猿辅导算法题2:不幸运数有01478,求1247的幸运价格?

//1247 幸运价格为2222。
	public static int getLuckPrice(int price ,List<Integer> unLuckNumbers){
		unLuckNumbers.add(0);
		Collections.sort(unLuckNumbers);
		String str = price +"";
		int min =Integer.MAX_VALUE;
		int finalNum=0;
		
		boolean flag=false;
		for(int j=0;j<unLuckNumbers.size();j++){
			if(j==0) {min=unLuckNumbers.get(j); continue;}
			if(++min < unLuckNumbers.get(j)){
				break;
			}
		}
		
		for(int i=0;i<str.length();i++){
			int num = Integer.parseInt(str.charAt(i)+"");
			if(!flag){
				for(int j=0;j<unLuckNumbers.size();j++){
					if(num==unLuckNumbers.get(j)){
						num++;
						flag =true;
					}
				}
				finalNum = finalNum + num * (int)Math.pow(10,str.length()-1-i);
			}else{
				finalNum = finalNum + min * (int)Math.pow(10,str.length()-1-i);
			} 
		}
		return finalNum;
	}
全部评论
大体思路是这样,但是如果那一位是9而9又正好是不幸数字,就需要回滚到上一位(PS:昨天写成一坨翔了,考完发现少考虑好多东西)
点赞 回复 分享
发布于 2016-09-07 14:47

相关推荐

牛大宝儿236:还没入职就PUA,[发火我之前遇到一个月给500块钱的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务