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;
        }
    };
  • 相关阅读:
    作业
    Day2
    Day1
    让Antd 的Modal 可以拖动
    JS日期处理——月末、季度末
    前端常见问题收录
    前端面试题收录
    使用ES6 Set类型 数组去重
    小程序开发:用Taro搭建框架
    JS 树形结构与数组结构相互转换、在树形结构中查找对象
  • 原文地址:https://www.cnblogs.com/superzrx/p/3312509.html
Copyright © 2011-2022 走看看