class Solution {
/*将nums[i] 放置到位置i上,然后从左到右依次遍历:
*找到第一个满足条件的i:位置i上的元素不是i,返回i
*/
public:
int firstMissingPositive(vector<int>& nums) {
vector<bool> vec(nums.size() + 1, false);
for (int i = 0; i < nums.size(); ++i)
if (nums[i] >= 1 && nums[i] <= nums.size())
vec[nums[i]] = true;
for (int i = 1 ; i< vec.size(); ++i)
if (vec[i] == false)
return i;
return vec.size();
}
};
leetcode 41. First Missing Positive
最新推荐文章于 2024-01-08 09:04:58 发布