java蓝桥杯第四届错误票据_[蓝桥杯][2013年第四届真题]错误票据 (Java代码)

解题思路:

(1)  字符串输入,去除空格转为ArrayList集合

(2)遍历查找找到重复的,然后去重

(3)遍历查找找到丢失的

注意事项:

因为是遍历查找丢失的数据,所以找到重复的记得去重,不然会后面知道到丢失的数据

参考代码:

import java.util.ArrayList;

import java.util.Collections;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int n = input.nextInt();

ArrayList arrayList = new ArrayList();

String string = new String();

input.nextLine();

for (int i=0; i

string = input.nextLine();

string = string.trim();

String[] strings = string.split("\\s+");    //去除空格

for (int j=0; j

arrayList.add(Integer.valueOf(strings[j]));

}

}

if (arrayList.size() > 0){

Collections.sort(arrayList);                //排序

int miss = 0;

int repeat = 0;

int last = 0;

int j = 0;

for (int i=0; i

if (i != 0) {                            //第一个数除外

if (last == arrayList.get(i)) {        //找到重复的

repeat = arrayList.get(i);

arrayList.remove(i);            //去重

}

}

last = arrayList.get(i);

}

for (int i=arrayList.get(0); i

if (i != arrayList.get(j)){

miss = i;

break;

}

j++;

}

System.out.println(miss + " " + repeat);

} else {

System.out.println("0 0");

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值