从自然数|集2移除给定整数后的第K个最小元素

给定大小n′和正整数k的数组ARR[],考虑一系列自然数,并从中去除ARR〔0〕、ARR〔1〕、ARR〔2〕、…、ARR〔N-1〕。现在的任务是在剩下的自然数集中找到第k个最小数。 例如:

null
Input : arr[] = { 1 } and k = 1.Output: 2Natural 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 : 6First 5 Natural number {1, 2, 3, 4, 5, 6,  .. }After removing {1, 3}, we get {2, 4, 5, 6, ... }.

本文讨论了两种方法 文章 . 这篇文章讨论了另一种方法。 算法:

  1. 开始遍历数组,因为i的范围从0到N-1
  2. 如果arr[i] <=  k、 然后增加k,否则就不能遍历数组的其余部分
  3. 得到的k是最终答案

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>


输出:

2

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享