給一整數(shù)無(wú)序數(shù)組,找到第一個(gè)缺失的正整數(shù),時(shí)間復(fù)雜度為n

//    5.7
//    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.
public int firstMissingPositive(int[] nums) {
        int idx = 0;
        while (idx < nums.length) {
            if (nums[idx] == idx + 1 || nums[idx] <= 0 || nums[idx] > nums.length) {
                idx++;
            } else {
                if (nums[idx] == nums[nums[idx] - 1]) {
                    idx++;
                } else {
                    swip(nums, idx, nums[idx] - 1);
                }
            }
        }
        idx = 0;
        while (idx < nums.length && nums[idx] == idx + 1) {
            idx++;
        }
        return idx + 1;
    }
    void swip(int[] ary,int x,int y) {
        int temp = ary[x];
        ary[x] = ary[y];
        ary[y] = temp;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 色不異空閱讀 158評(píng)論 0 0
  • 巧合,還是天意? 今天有些困有些累,有公司組織的慶祝飯局我也沒(méi)去,跟我關(guān)系聊勝于無(wú),昨天還記錄如何搞定老板;對(duì)于結(jié)...
    秀秀的書(shū)閱讀 303評(píng)論 4 1
  • 昨天,我的直接領(lǐng)導(dǎo)搬家,他要走了,升遷了。中午大伙兒一起吃了個(gè)飯。我還記得,上次找他聊時(shí),他說(shuō)現(xiàn)在我需要學(xué)習(xí)如何和...
    婷下來(lái)思考閱讀 165評(píng)論 0 0
  • 文/春風(fēng)柳上歸 漢宣帝劉詢(劉病已)是中國(guó)歷史上有名的賢君,在位期間,全國(guó)政治清明、社會(huì)和諧、經(jīng)濟(jì)繁榮...
    春風(fēng)柳上歸閱讀 329評(píng)論 5 4
  • 買好郵票 鋪開(kāi)信紙 我迅速草寫(xiě)了一封書(shū)信 我要找到我闊別了三十多年的老同學(xué) 我們?cè)?jīng)一起放學(xué)回家 我們?cè)?jīng)一起鉆一...
    cloud18閱讀 380評(píng)論 3 2

友情鏈接更多精彩內(nèi)容