zoukankan      html  css  js  c++  java
  • LeetCode-First Missing Positive

    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.

    class Solution {
    public:
        int firstMissingPositive(int A[], int n) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            if(n==0)return 1;
            for(int i=0;i<n;i++){
                
                if(A[i]!=i+1&&A[i]>0&&A[i]<=n){
                    int temp;
                    int j=A[i]-1;
                    while(A[j]!=j+1){
                        temp=A[j];
                        A[j]=j+1;
                        if(temp<1||temp>n)break;
                        j=temp-1;
                    }
                }
            }
            for(int i=0;i<n;i++){
                if(A[i]!=i+1)return i+1;
            }
            return n+1;
        }
    };
  • 相关阅读:
    图形合并
    启动脚本
    图形合并
    :(){:|:&};:
    C言语教程第八章:列举,位运算(5)
    C言语图形情势编程,赋性鼠标(4)
    C言语教程第十章:文件(6)
    C言语教程第十章:文件(4)
    红帽为什么要连结桌面Linux
    阶乘较劲争论器改善版
  • 原文地址:https://www.cnblogs.com/superzrx/p/3312509.html
Copyright © 2011-2022 走看看