首先想到的就是用set,每次插入就需要排序。
很简单的一个题目。
class Solution {
public:
int firstMissingPositive(int A[], int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
set<int> myset;
for(int i=0;i<n;i++)
{
if(A[i]>0) myset.insert(A[i]);
}
int num=1;
for (std::set<int>::iterator it=myset.begin(); it!=myset.end(); ++it)
{
if(num!=*it)
{
break;
}
else
{
num++;
}
}
return num;
}
};