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.
题目主要是,要寻找1,2,...n,第一个没有的正整数。 所有用map,一下找到了。 另外hash代表什么意思?用哈希?
class Solution {
public:
int firstMissingPositive(vector<int>& nums)
{
if(nums.size()==0)
return 1;
map<int,int> mValue;
int i;
for(i=0;i<nums.size();i++)
{
mValue[nums[i]]=nums[i];
}
map<int,int>::iterator it;
for(i=0;i<nums.size();i++)
{
it=mValue.find(i+1);
if(it==mValue.end())
return i+1;
}
return i+1;
}
};版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/q286989429/article/details/47322723