给定一个未排序的数组,找出其中没有出现的最小正整数(num>=1)

class Solution {
public:
    int firstMissingPositive(vector& nums) {
        int size = nums.size();
        if(size <=0) return 1;
/*巧妙之处在这里,看似双重循环,其实只遍历了一遍数组,因为在内层交换过后,存在一部分i==a[i],当外层遍历到该元素,就不会进入循环内,相当于只遍历了一遍数组。*/
        for(int i=0;i0&&nums[i]

https://blog.csdn.net/weixin_40846513/article/details/81212587?spm=1001.2014.3001.5506

你可能感兴趣的:(1024程序员节)