LeetCode 41. First Missing Positive

    xiaoxiao2021-12-14  20

    描述

    给出一个未排序的数组,找出丢失的数,从1开始的

    解决

    遍历数组,交换数,使得每个数对应索引号。最后再遍历看哪一个数不对,返回即可。


    class Solution { public: int firstMissingPositive(vector<int>& nums) { int length = nums.size(); for (int i = 0; i < length; ++i) { while (nums[i] > 0 && nums[i] < length && nums[i] != i + 1 && nums[i] != nums[nums[i] - 1]) swap(nums[i], nums[nums[i] - 1]); } for (int i = 0; i < length; ++i) { if (i + 1 != nums[i]) return i + 1; } return length + 1; } };
    转载请注明原文地址: https://ju.6miu.com/read-970088.html

    最新回复(0)