| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1517 人关注过本帖
标题:求指导算法~斑竹和朋友一起思考一下吧!
取消只看楼主 加入收藏
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
 问题点数:0 回复次数:5 
求指导算法~斑竹和朋友一起思考一下吧!

有什么算法可以判断一行顺序自然数中,缺少了其中的一个自然数呢?用什么算法是最简单又有效率的呢?

例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 这排是正常的自然数
1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 这排是缺了一个12的自然数
用什么算法可以知道第二排中的数字缺少一个12呢?怎么算出来比较简单快速?

还有,这是已经有顺序的,如果没有顺序呢?
假设: 1 2 6 18 3 19 7 8 9 14 16 13 20 15 10 4 17 11 5
请问由1开始到数中的最大自然数之间,缺少了那个自然数呢?

[此贴子已经被作者于2006-10-30 21:09:44编辑过]

搜索更多相关主题的帖子: 算法 斑竹 朋友 指导 思考 
2006-10-30 20:59
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
已经摆放很久了,都不见有高手出招!请高手出招啊!
最难的就是找缺了的数字!

[此贴子已经被作者于2006-11-2 20:36:53编辑过]

2006-11-02 20:36
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 

高手请出招啊,我想不到怎么写,麻烦写个代码算法给小弟看看~
不胜感激

2006-11-04 23:27
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
很难理解啊~
2006-11-05 20:02
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
int[] id=new int[]{5,6,7,8,9,11,12,14,0,1,2,3,4};
for(int i=0,k=1;k==1;i++){
int z=1;
for(int j=0;j<id.length&&z==1;j++)
if(i==id[j]) {
k=1;
z=0;
}
else {
if(j==id.length-1){
k=0;
z=0;
System.out.println("缺少的值:"+i);
}
}

我的算法是这样的啊,但是找不到其他缺少的数了,只能找到一个缺少了又是数列中最小的数 13
2006-11-05 20:15
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
我贴的代码多加一个FOR循环就可以找出缺少的数字了,可惜效率不太好,哈哈。
努力思考才是王道

[此贴子已经被作者于2006-11-8 17:21:45编辑过]

2006-11-08 17:21
快速回复:求指导算法~斑竹和朋友一起思考一下吧!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016036 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved