大家来看看我的代码有什么问题啊,求解答

题目要求是:
牛牛的好朋友羊羊在纸上写了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

输入例子:
2
3 6

输出例子:
mistake

下面是我的代码:

import java.util.ArrayList;

import java.util.Collections;

import java.util.Scanner;

publicclass Main {

public static void main(String[] args) {

System. out .println("请输入剩余数字的个数和所剩余的数字,数字之间用空格隔开");

        int n=number();

        ArrayList<Integer> num =new ArrayList<>();

        num = num();

        if (!(n>=1 && n<= 50 && n == num.size())) {

System.out.println("输入的数字个数有误,请重新输入");

main(args);

}

        for (int i = 0; i < num.size(); i++) {

if (num.get(i)<1 || num.get(i)>1000000000) {

System.out.println("输入的数字有误,请重新输入");

main(args);

}

}

        Collections.sort(num);

        int a=num.get(num.size()-1);

        int b=num.get(0);

        if ((a-b+1) == num.size()) {

if (b == 1) {

System.out.println((a+1));

}

else if (a == 1000000000) {

System.out.println((b-1));

}

else {

System.out.println((b-1) +" " + (a+1));

}

}

        if ((a-b+1) == (num.size()+1)) {

        int j=0;

for(int i=b;i<a;i++){

if (i==num.get(j++)) {

continue;

}

else {

System.out.println(i);

break;

}

}

}

        if ((a-b+1) == (num.size()+1+1)) {

System.out.println("mistake");

}

}

static int number(){

Scanner reader=new Scanner(System.in);

int n=reader.nextInt();

String s=reader.nextLine();

return n ;

}

static ArrayList<Integer> num(){

Scanner reader=new Scanner(System.in);

String s=reader.nextLine();

String[] arr = s.split(" ");

ArrayList<Integer> number = new ArrayList<>();

for (int i = 0; i < arr.length; i++) {

number.add(Integer.parseInt(arr[i]));

}

return number ;

}


}


我在我的eclipse测试没有问题啊,但是在提交答案的时候,一直说用例通过不了,我的代码哪里有问题啊?
全部评论
楼主看下编程题的处理规范 https://www.nowcoder.com/discuss/276 这个题目还是挺简单的。 输入排序后判断空位,或者空位非法就行。
点赞 回复 分享
发布于 2017-03-29 22:09

相关推荐

牛客969571862号:昨天捞我今天面这个,岗位一模一样,感觉就是面着玩
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务