一个小时!!!!
全部评论
附上源码 import java.util.Scanner; public class Test{ static int[] array = new int[2000]; static int max = 0; public static void test(){ for(int i=0;i<array.length;i++){ array[i]=-1; } //找小A GetAns()来给我答案 int ans = GetAns(); System.out.println(ans); } //小A /** * 小A要接受输入端的数据,把输入的数据value送入数组中 * 第一步 如果value的值数组里已经有了,则证明value为重复数字,用ans存起来,反之就继续送入数组 * 第二步 判断value是否大于max,是就更新max的值 * 第三步 找小B,看看现在数组里面0-max的值有几个还没有填值 * 当程序满足ans不为初值-1并且收到了一个回车并且小B的结果数组已经存满,就退出死循环 */ private static int GetAns(){ Scanner input = new Scanner(System.in); int ans = -1; while(true){ int value = input.nextInt(); if (value > max ){//更新max的值 max = value; } if(value == array[value]){//把接受的数据送入数组 ans = value; System.out.println("ans="+ans); }else{ array[value] = value; } //print(); if(Check() == 0 && ans!=-1 && input.hasNextLine() ){//判断退出条件 break; } } return ans; } //小B 检查数组里面的值还剩下几个没有填满 private static int Check(){ int time = 0; for (int i=0;i<=max;i++){ if(array[i]==-1){ time++; } } return time; } private static void print(){ for (int i=0;i<=max;i++){ System.out.print(array[i]+" "); } } public static void main(String[] args) { Test.test(); } }
点赞 回复 分享
发布于 2020-05-19 12:54

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务