永发信息网

某公司编程笔试题。java

答案:5  悬赏:10  手机版
解决时间 2021-11-25 22:16
某公司编程笔试题。java
最佳答案
public static void main(String[] args) throws IOException {
int[] ary = new int[1000];
for (int i = 0; i < 1000; i++) {
ary[i] = i;
}
ary[100] = 101;//把100换成别的变相于100被去掉
System.out.println(dare(ary, 0, ary.length));
}
public static int dare(int[] ary, int start, int end) {
for (int i = (start + end) / 2; i < end - 1; i++) {
if (ary[i] != ary[i + 1] - 1)
return ary[i] + 1;
}
return dare(ary, start, (start + end) / 2);
}
全部回答
简单:for循环
快速:二分查找
对啊 这就是一个排序查找的问题,你只需要看看哪种查找方式最省时间就好了。
//写的有点繁琐,只供参考。
int[] num=new int[9999];
List list=new ArrayList();
for(int i=1;i<=10000;i++)
{
list.add(i);
}
Random rand=new Random();
list.remove(127);//抽出的数如果用Random需要避免出现0
for(int i=0;i {
num[i]=Integer.parseInt(list.get(i).toString());
}
int result=0;
int t=1,p=10000;
for(int i=0;i {
if(num[i]==1)
{
t=0;
}
}
for(int i=0;i {
if(num[i]==10000)
{
p=0;
}
}
for(int i=0;i {
if(i>0)
{
if((num[i-1]+1)!=num[i])
{
result=num[i]-1;
}
}
}
if(t!=0)
{
result=t;
}
if(p!=0)
{
result=p;
}
System.out.println("抽出的数为:"+result);
int num;

for(int i=0;i if(++num==list.get(i)){
system.out.print("挖掉的数为:"+num);

}
}
是不是大概这么个意思?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
前女友到现在还没有忘记我,但是今天她经过这
鹏达锌品这个地址在什么地方,我要处理点事
内开内倒和平开窗哪个好
澳门的化妆品比内地买的便宜很多?
在中外建工作怎么样?在中外建工作是一种什么
专四听力审题时间那么短,有时候还没看题听力
联通签了两年合约,只用了一年会有事吗?
QQ好友把我拉黑后我的列表还有她吗?
有一首歌,里面经常出现“that's the way
18÷3的竖式
韩式分层吸脂好吗
绘画育儿之如何做有效的亲子陪伴
房屋销售许可证和房屋预售许可证之间的区别?
________flights had to be put off because
厨房一般要按多少个插座
推荐资讯
一到三万元又什么加盟店
针对交通运输局全局干部工作纪律存在的问题有
邵荃麟故居停车场地址好找么,我有些事要过去
颧骨 这两个字粤语怎么读
听说群里很多大神,我只看看不说话的图片
雁南飞这首歌,表达的是什么?唱的时候应该投
我家是农村的,昨天家里面地里种的一千多棵杨
幸福是什么作文10篇
关于猎头的好看小说推荐
中国邮政EMS(西大街1-1号中国邮政EMS)地址有
购买洗涤剂如何看是否环保?
keeping gold-fish是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?