关注
附上源码
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();
}
}
查看原帖
点赞 评论
相关推荐
查看7道真题和解析 点赞 评论 收藏
分享
12-22 17:06
中国地质大学(武汉) Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习没人带,苟住还是跑路? #
5643次浏览 142人参与
# 联影求职进展汇总 #
144956次浏览 831人参与
# 元旦假期你打算怎么过 #
4040次浏览 114人参与
# 非技术岗简历怎么写 #
274524次浏览 3166人参与
# 大家实习都在做什么? #
4930次浏览 52人参与
# 春招前还要继续实习吗? #
1108次浏览 23人参与
# 你做过哪些dirty work #
24893次浏览 155人参与
# 妈妈治愈了你哪些脆皮时刻 #
38281次浏览 338人参与
# 面试官问过你最刁钻的问题是什么? #
2836次浏览 50人参与
# 毕业论文怎么查AI率 #
69976次浏览 1938人参与
# 我来点评面试官 #
37512次浏览 163人参与
# 一人说一家双休的公司 #
2861次浏览 48人参与
# 我们是不是被“优绩主义”绑架了? #
5752次浏览 208人参与
# 实习/项目/竞赛奖项,哪个对找工作更重要? #
102423次浏览 1185人参与
# 牛客2025仙途报告 #
26672次浏览 364人参与
# 职场中对你有帮助的书 #
25591次浏览 216人参与
# 查收我的offer竞争力报告 #
264153次浏览 1649人参与
# 应届生初入职场,求建议 #
286115次浏览 2851人参与
# 找工作如何保持松弛感? #
127313次浏览 1457人参与
# 机械人你觉得今年行情怎么样? #
6113次浏览 87人参与

