Leetcode1539. 第 k 个缺失的正整数

在这里插入图片描述
给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。

请你找到这个数组里第 k 个缺失的正整数。

示例 1:

输入:arr = [2,3,4,7,11], k = 5
输出:9
解释:缺失的正整数包括 [1,5,6,8,9,10,12,13,...] 。第 5 个缺失的正整数为 9 


示例 2:

输入:arr = [1,2,3,4], k = 2
输出:6
解释:缺失的正整数包括 [5,6,7,...] 。第 2 个缺失的正整数为 6 。

提示:

  • 1 <= arr.length <= 1000
  • 1 <= arr[i] <= 1000
  • 1 <= k <= 1000
  • 对于所有 1 <= i < j <= arr.length 的 i 和 j 满足 arr[i] < arr[j]

Code:

class Solution {
public:
    int findKthPositive(vector<int>& arr, int k) {
        vector<int>vec;
        int count=0;
        for(int i=0;i<INT_MAX;i++)
        {
            if(count<arr.size())
            {
                if((i+1)!=arr[count])
                {
                    vec.push_back(i+1);
                }
                else
                    count++;
                
                if((int)vec.size()==k)
                {
                    return vec[k-1];
                }
            }
            else
            {
                if((int)vec.size()==k)
                {
                    return vec[k-1];
                }
                vec.push_back(i+1);
            }
            
            
            
        }
        return 0;
        
    }
};

posted @ 2022-05-13 15:08  萧海~  阅读(26)  评论(0编辑  收藏  举报