Find the Kth largest and Kth smallest number in an array in C#

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

Comments

Popular posts from this blog

Input = INDIA, count each char in input string