Search

Kth Missing Positive Number



Given an array arr of positive integers sorted in a strictly increasing order, and an integer k. Find the kth positive integer that is missing from this array. Example 1:


Input: 
arr = [2,3,4,7,11], 
k = 5 
Output: 9 
Explanation: The missing positive integers are [1,5,6,8,9,10,12,13,...]. The 5th missing positive integer is 9. 

Example 2:



Input: arr = [1,2,3,4], k = 2 
Output: 6 
Explanation: The missing positive integers are [5,6,7,...]. The 2nd missing positive integer is 6. 
 

Constraints:

  • 1 <= arr.length <= 1000

  • 1 <= arr[i] <= 1000

  • 1 <= k <= 1000

  • arr[i] < arr[j] for 1 <= i < j <= arr.length

Solution:

class Solution {
    public int findKthPositive(int[] arr, int k) {
       Set<Integer> set = new HashSet<Integer>();
   
        for(int a : arr)
        {
            set.add(a);
        }
        
        int start =1;
        int Count = k;
        
        while(Count>0)
        {
            if(set.contains(start))
            {
                start++;
            }
            else
            {
                start++;
                Count--;
            }
        }
        return start-1;
    }
}


64 views0 comments

Recent Posts

See All

A string s is called good if there are no two different characters in s that have the same frequency. Given a string s, return the minimum number of characters you need to delete to make s good. The f

The numeric value of a lowercase character is defined as its position (1-indexed) in the alphabet, so the numeric value of a is 1, the numeric value of b is 2, the numeric value of c is 3, and so on.