| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1475 人关注过本帖
标题:一个长度不小于2自然数数组A[m, m+1, m+2… n],包含一些连续的自然数,但是 ...
只看楼主 加入收藏
JavaJack
Rank: 2
来 自:YunNan
等 级:论坛游民
帖 子:24
专家分:26
注 册:2016-11-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
一个长度不小于2自然数数组A[m, m+1, m+2… n],包含一些连续的自然数,但是其中有且仅有一个自然数丢失了
一个长度不小于2自然数数组A[m, m+1, m+2… n],包含一些连续的自然数,但是其中有且仅有一个自然数丢失了,
请你找出那个丢失的自然数。比如[10,11,12,13,15],丢失的自然数是14。如果没丢失比如[1,2,3,4,5],那么就返回-1。
 Java: int findMissing(int[] a)

class Find
{
    int n=0;
    int data=0;
    public int findMissing(int[] number){
        int len=number.length;
        if ((number[len-1]-number[0]+1)==len)
        {
            data=-1;
        }else{
            while (n<len)            //确保所有的数组元素都有比较
            {
                if (number[0]+n==number[n])        //将此位置的正确值与当前实际值作比较
                {
                    n++;
                }else{
                    data=number[0]+n;
                    n=len;                //让n满足条件,退出while循环
                }
            }
        }
        return data;
    }
}
public class FindMissingDemo
{
    public static void main(String args[])
    {
        Find f=new Find();
        int num[]={10,11,12,14,15,16,19,20};
        System.out.println(f.findMissing(num));
    }
}
这是我写的程序,虽然目的达到了,但是感觉很渣!求大神指导一下
搜索更多相关主题的帖子: public 自然数 number Java 
2016-11-18 00:55
learnJava
Rank: 2
等 级:论坛游民
威 望:1
帖 子:8
专家分:38
注 册:2016-11-18
收藏
得分:20 
折半 递归 找a[n]-a[0]≠n
2016-11-18 11:23
JavaJack
Rank: 2
来 自:YunNan
等 级:论坛游民
帖 子:24
专家分:26
注 册:2016-11-16
收藏
得分:0 
回复 2楼 learnJava
屌屌的
2016-11-18 17:43
快速回复:一个长度不小于2自然数数组A[m, m+1, m+2… n],包含一些连续的自然数 ...
数据加载中...
 
   



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

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