数组代码First Missing Positive

文章结束给大家来个程序员笑话:[M]

    标题:

    Given an unsorted integer array, find the first missing positive integer.

    For example,
Given [1,2,0] return 3,
and [3,4,-1,1] return 2.

    Your algorithm should run in O(n) time and uses constant space.

    分析:此题可以用一个hash数组实现,所需分配间空的小大最大为n(比如当数组为

    

    [1,2,3]时,回返的值为4

    

    )。

    代码如下:

    每日一道理
巴尔扎克说过“不幸,是天才的进升阶梯,信徒的洗礼之水,弱者的无底深渊”。风雨过后,眼前会是鸥翔鱼游的天水一色;走出荆棘,前面就是铺满鲜花的康庄大道;登上山顶,脚下便是积翠如云的空蒙山色。 在这个世界上,一星陨落,黯淡不了星空灿烂,一花凋零,荒芜不了整个春天。人生要尽全力度过每一关,不管遇到什么困难不可轻言放弃。

    int firstMissingPositive(int A[], int n) {
        int value =1;
        if(n<=0)return value;
        int *B=new int[n+1];
        for(int i=0;i<=n;i++)
        {
            B[i]=0;
        }
        for(int i=0;i<=n;i++)
        {
            if(A[i]<=n&&A[i]>=0)
              B[A[i]]=1;
        }
        value=n+1;
        for(int i=1;i<=n;i++)
        {
            if(B[i]==0)
            {
                value = i;
                break;
            }         
        }
        delete []B;
        return value;
    }

文章结束给大家分享下程序员的一些笑话语录: 人工智能今天的发展水平:8乘8的国际象棋盘其实是一个体现思维与创意的强大媒介。象棋里蕴含了天文数字般的变化。卡斯帕罗夫指出,国际象棋的合法棋步共有1040。在棋局里每算度八步棋,里面蕴含的变化就已经超过银河系里的繁星总数。而地球上很少有任何数量达到这个级别。在金融危机之前,全世界的财富总和大约是1014人民币,而地球人口只有1010。棋盘上,所有可能的棋局总数达到10120,这超过了宇宙里所有原子的总数!经典语录网

posted @ 2013-04-25 19:22  xinyuyuanm  阅读(136)  评论(0编辑  收藏  举报