irst-missing-positive

来源:互联网 发布:全球电视直播软件apk 编辑:程序博客网 时间:2024/05/21 18:44

题目:

Given an unsorted integer array, find the first missing positive integer.
For example,
Given[1,2,0]return3,
and[3,4,-1,1]return2.
Your algorithm should run in O(n) time and uses constant space.

程序:

class Solution {public:    int firstMissingPositive(int A[], int n)    {        for(int i = 0; i < n; ++ i)            while(A[i] > 0 && A[i] <= n && A[A[i] - 1] != A[i])                swap(A[i], A[A[i] - 1]);        for(int i = 0; i < n; ++ i)            if(A[i] != i + 1)                return i + 1;        return n + 1;    }};
原创粉丝点击