【陣列】1539. 第 k 個缺失的正整數(簡單)

小學三年級01班發表於2020-10-24

【題目】
給你一個 嚴格升序排列 的正整數陣列 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]
【程式碼】

class Solution {
public:
    int findKthPositive(vector<int>& arr, int k) {
        int hashnum[2001]={0},cnt=0;
        for(auto x:arr)
            hashnum[x]=1;
        for(int i=1;i<2001;i++)
            if(hashnum[i]==0){
                cnt++;
                if(cnt==k)
                    return i;
            }
        return  0;
    }
};

相關文章