[TOC]寻找一个序列中的第K小的元素(即第k小元问题)
对于给定的含有n(n<=100)元素的无序序列,求这个序列中第k(1≤k≤n)小的元素。
任务描述
本关任务:编写一个能计算数组中的第k小的元素的小程序。
相关知识
假设无序序列存放在a[0…n-1]中,若将a递增排序,则第k小的元素为a[k-1]。
编程要求
根据提示,在右侧编辑器补充代码,计算并数组中的第k小的元素。
测试说明
平台会对你编写的代码进行测试:
测试输入:
10
2,5,1,7,10,6,9,4,3,8
3;
预期输出:
第3小的元素:3
测试输入:10
2,5,1,7,10,6,9,4,3,8
7;
预期输出:
第7小的元素:7
开始你的任务吧,祝你成功!
package step2;
import java.util.Arrays;
import java.util.Scanner;
public class MinK{
/begin
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Read the number of elements in the sequence
int n = scanner.nextInt();
int[] a = new int[n];
// Read the elements of the sequence
for (int i = 0; i < n; i++) {
a[i] = scanner.nextInt();
}
// Read the value of k
int k = scanner.nextInt();
// Sort the array
Arrays.sort(a);
// Find the kth smallest element
int kthElement = a[k - 1];
// Output the result
System.out.println("第" + k + "小的元素:" + kthElement);
scanner.close();
}
///end///
}
标签:10,scanner,nextInt,int,元素,小元,Read,序列
From: https://blog.csdn.net/qq_43055855/article/details/142889137