北京郵電大學複試機試(4)

題目描述
查找一個數組的第K小的數,注意同樣大小算一樣大。 如 2 1 3 4 5 2 第三小數爲3。
輸入描述:
輸入有多組數據。
每組輸入n,然後輸入n個整數(1<=n<=1000),再輸入k。
輸出描述:
輸出第k小的整數。
示例1
輸入
6
2 1 3 5 2 2
3
輸出
3
思路
將數據放到集合去重,去重之後排序

import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;

public class Main {
    /*
    查找一個數組的第K小的數,注意同樣大小算一樣大。 如  2 1 3 4 5 2 第三小數爲3
     */
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        HashSet<Integer> hashSet = new HashSet<Integer>();
        for(int i=0;i < n;i ++){
            hashSet.add(input.nextInt());
        }
        int k = input.nextInt();
        Object array[] =  hashSet.toArray();
        Arrays.sort(array);
        System.out.println(array[k-1]);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章