Skip to content
Related Articles

Related Articles

Improve Article

K-th smallest element after removing given integers from natural numbers | Set 2

  • Difficulty Level : Basic
  • Last Updated : 05 May, 2021

Given an array arr[] of size ā€˜nā€™ and a positive integer k. Consider series of natural numbers and remove arr[0], arr[1], arr[2], ā€¦, arr[n-1] from it. Now the task is to find k-th smallest number in the remaining set of natural numbers.
Examples: 
 

Input : arr[] = { 1 } and k = 1.
Output: 2
Natural numbers are {1, 2, 3, 4, .... }
After removing {1}, we get {2, 3, 4, ...}.
Now, K-th smallest element = 2.

Input : arr[] = {1, 3}, k = 4.
Output : 6
First 5 Natural number {1, 2, 3, 4, 5, 6,  .. }
After removing {1, 3}, we get {2, 4, 5, 6, ... }.

2 methods are discussed in this article.
This post discusses one more method.
Algorithm: 
 

  1. Start traversing the array, for i ranging from 0 to N-1 
     
  2. If arr[i]<=  k, then increment k. Else break out of traversing the rest of the array 
     
  3. The obtained k is the final answer 
     

 

C++




// C++ program to find the K-th smallest element
// after removing some integers from natural number.
#include <bits/stdc++.h>
using namespace std;
 
// Return the K-th smallest element.
int ksmallest(int arr[], int n, int k)
{
    for (int i = 0; i < n; i++) {
        if (arr[i] <= k)
            k++;
        else
            break;
    }
    return k;
}
 
// Driven Program
int main()
{
    int k = 1;
    int arr[] = { 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << ksmallest(arr, n, k);
    return 0;
}

Java




// Java program to find the
// K-th smallest element
// after removing some
// integers from natural number.
class GFG
{
 
// Return the K-th
// smallest element.
static int ksmallest(int arr[],
                     int n, int k)
{
    for (int i = 0; i < n; i++)
    {
        if (arr[i] <= k)
            k++;
        else
            break;
    }
    return k;
}
 
// Driver Code
public static void main(String args[])
{
    int k = 1;
    int arr[] = { 1 };
    int n = arr.length;
    System.out.println(ksmallest(arr, n, k));
}
}
 
// This code is contributed
// by Arnab Kundu

Python3




# Python3 program to find
# the K-th smallest element
# after removing some integers
# from natural number.
 
# Return the K-th
# smallest element.
def ksmallest(arr, n, k):
    for i in range(n):
        if (arr[i] <= k):
            k = k + 1;
        else:
            break;
    return k;
 
# Driver Code
k = 1;
arr = [1];
n = len(arr);
print(ksmallest(arr, n, k));
     
# This code is contributed by mits

C#




// C# program to find the
// K-th smallest element
// after removing some
// integers from natural number.
using System;
 
class GFG
{
// Return the K-th
// smallest element.
 
static int ksmallest(int []arr,
                     int n, int k)
{
    for (int i = 0; i < n; i++)
    {
        if (arr[i] <= k)
            k++;
        else
            break;
    }
    return k;
}
 
// Driver Code
static public void Main ()
{
    int k = 1;
    int []arr = { 1 };
    int n = arr.Length;
    Console.WriteLine(ksmallest(arr,
                                n, k));
}
}
 
// This code is contributed @ajit

PHP




<?php
// PHP program to find the K-th
// smallest element after removing
// some integers from natural number.
 
// Return the K-th smallest element.
function ksmallest($arr, $n, $k)
{
    for ($i = 0; $i < $n; $i++)
    {
        if ($arr[$i] <= $k)
            $k++;
        else
            break;
    }
    return $k;
}
 
    // Driver Code
    $k = 1;
    $arr = array(1);
    $n = sizeof($arr);
    echo ksmallest($arr, $n, $k);
     
// This code is contributed by aj_36
?>

Javascript




<script>
    // Javascript program to find the
    // K-th smallest element
    // after removing some
    // integers from natural number.
     
    // Return the K-th
    // smallest element.
 
    function ksmallest(arr, n, k)
    {
        for (let i = 0; i < n; i++)
        {
            if (arr[i] <= k)
                k++;
            else
                break;
        }
        return k;
    }
     
    let k = 1;
    let arr = [ 1 ];
    let n = arr.length;
    document.write(ksmallest(arr, n, k));
 
// This code is contributed by suresh07.
</script>
Output: 
2

 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :