牛牛的好朋友羊羊在纸上写了n+1个整数,羊羊接着抹除掉了一个整数,给牛牛猜他抹除掉的数字是什么。牛牛知道羊羊写的整数神排序之后是一串连续的正整数,牛牛现在要猜出所有可能是抹除掉的整数。例如:
10 7 12 8 11 那么抹除掉的整数只可能是9
5 6 7 8 那么抹除掉的整数可能是4也可能是9
输入描述:
输入包括2行: 第一行为整数n(1 <= n <= 50),即抹除一个数之后剩下的数字个数 第二行为n个整数num[i] (1 <= num[i] <= 1000000000)
输出描述:
在一行中输出所有可能是抹除掉的数,从小到大输出,用空格分割,行末无空格。如果没有可能的数,则输出mistake
示例1
输入
2 3 6
输出
mistake
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int count=scanner.nextInt();
int[] num = new int[count];
for(int i=0;i<count;i++){
num[i]=scanner.nextInt();
}
//判断是否有重复数字
Set<Integer> set=new HashSet<Integer>();
for(int i:num){
set.add(i);
}
if(set.size()!=num.length){
System.out.print("mistake");
return;
}
Arrays.sort(num);
if(num[count-1]-num[0]==count){
int result=0;
for(int i=0;i<count;i++){
result+=num[i];
}
System.out.print(((num[0]+num[count-1])*(count+1)/2)-result);
}
else if(num[count-1]-num[0]==count-1){
if(num[0]==1&&num[count-1]==1000000000){
System.out.print("mistake");
}
if(num[0]==1){
System.out.print(num[count-1]+1);
}else{
System.out.print(num[0]-1+" "+(num[count-1]+1));
}
}
else{
System.out.print("mistake");
}
}
}