给定大小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, ... }.
本文讨论了两种方法 文章 . 这篇文章讨论了另一种方法。 算法:
- 开始遍历数组,因为i的范围从0到N-1
- 如果arr[i]
k、 然后增加k,否则就不能遍历数组的其余部分
- 得到的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