Find the Kth largest and Kth smallest number in an array in C#
- Get link
- X
- Other Apps
Solution 1:
// C# code for Kth smallest element
// in an array
using System;
class GFG {
// Function to return K'th smallest
// element in a given array
public static int kthSmallest(int[] arr, int K)
{
// Sort the given array
Array.Sort(arr);
// Return k'th element in
// the sorted array
return arr[K - 1];
}
// driver's program
public static void Main()
{
int[] arr = new int[] { 12, 3, 5, 7, 19 };
int K = 2;
// Function call
Console.Write("K'th smallest element"
+ " is " + kthSmallest(arr, K));
}
}
Output
K'th smallest element is 5
Solution 2:
// C# code for Kth smallest element
// in an array
using System;
class GFG {
// Input array
int[] arr = { 1, 423, 6, 46, 34, 23, 13, 53, 4 };
int min = 0, max = 0;
int length = arr.Length;
int[] maxArr = new int[length];
List<int> list = arr.Cast<int>().ToList();
arr = list.OrderBy(x => x).ToList().ToArray();
maxArr = list.OrderByDescending(x => x).ToArray();
Array.ForEach(arr, Console.WriteLine);
Console.WriteLine("Array lengh: "+length);
Console.WriteLine();
Console.WriteLine("Enter Kth min number in array.");
int minNo = Convert.ToInt32(Console.ReadLine());
if (minNo <= length)
{
Console.WriteLine("Min" + minNo + "th No. :" + arr[minNo - 1]);
}
else
{
Console.WriteLine("Max length array is:" + length);
}
Console.WriteLine();
Console.WriteLine("Enter Kth max number in array.");
int maxNo = Convert.ToInt32(Console.ReadLine());
if (minNo <= length)
{
Console.WriteLine("Max" + minNo + "th No. :" + maxArr[maxNo - 1]);
}
else
{
Console.WriteLine("Max length array is:" + length);
}
Console.ReadKey();
}
Output
1'th smallest element is 1
- Get link
- X
- Other Apps
Comments
Post a Comment