Untitled
unknown
java
3 years ago
2.3 kB
6
Indexable
import java.util.*;
public class FindMin {
public static void main(String[] args) {
int size = 10; // size of the array
int[] numbers = new int[size]; // create an array of integers
System.out.println("Please enter the Kth Number to find the Kth Smallest Number");
Scanner scanner = new Scanner(System.in);
int k = scanner.nextInt();
scanner.close();
// create a new random number generator
Random random = new Random();
// fill the array with random numbers
for (int i = 0; i < size; i++) {
numbers[i] = random.nextInt(100) + 1; // generate a random integer between 1 and 100
}
// print out the array
for (int i = 0; i < size; i++) {
System.out.print(numbers[i] + " ");
}
//Space Print
System.out.println();
for(int i= 0;i<k;i++)
{
// find the minimum value in the array
int min = findMin(numbers, 0, Integer.MAX_VALUE);
// print out the minimum value
if(i == k-1)
{
System.out.println("The " + k + "th value is: " + min);
}
numbers = removeElement(numbers, min);
}
}
public static int findMin(int[] arr, int index, int min) {
if (index == arr.length) { // base case
return min;
}
if (arr[index] < min) {
min = arr[index];
}
return findMin(arr, index+1, min); // recursive call
}
public static int[] removeElement(int[] arr, int value) {
int index = -1;
// find the index of the element with the value to remove
for (int i = 0; i < arr.length; i++) {
if (arr[i] == value) {
index = i;
break;
}
}
// if the element is not found, return the original array
if (index == -1) {
return arr;
}
int[] newArr = new int[arr.length - 1];
// copy all the elements from the original array to the new array except the one to remove
for (int i = 0, k = 0; i < arr.length; i++) {
if (i == index) {
continue;
}
newArr[k++] = arr[i];
}
return newArr;
}
}
Editor is loading...