Leetcode 41. 缺失的第一个正数

Leetcode 41. 缺失的第一个正数_第1张图片

排序,时间复杂度O(NlogN)

Hash表,空间复杂度O(N)

原地Hash

在数组原位置上操作,使得1,放到第一个位置,2放到第二个位置。

class Solution {
public:
    int firstMissingPositive(vector& nums) {
        //if(nums.size()==0) return 1;
        for(int i=0;i=1&&nums[i]<=nums.size()&&nums[i]!=nums[nums[i]-1]) 
                swap(nums[i],nums[nums[i]-1]);
            
        }
        for(int i=0;i

 

你可能感兴趣的:(算法)