1. 程式人生 > 其它 >Leetcode1539. 第 k 個缺失的正整數

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;
        
    }
};