天天看點

《好未來程式設計題》n個數裡最小的k個

題目描述

找出n個數裡最小的k個

輸入描述:

每個測試輸入包含空格分割的n+1個整數,最後一個整數為k值,n

不超過100。

輸出描述:

輸出n個整數裡最小的k個數。升序輸出

示例1

輸入

3 9 6 8 -10 7 -11 19 30 12 23 5

輸出

-11 -10 3 6 7

解析:直接上代碼了

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

public class Main {

    public static String getMin(int [] arr,int k){
        String result="";
        Arrays.sort(arr);
        if(arr.length<=k){
            for(int i:arr){
                result+=i+" ";
            }
        }else {
            for(int i=;i<k;i++){
                result+=arr[i]+" ";
            }
        }

        return result.trim();
    }

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()){
            String s=scanner.nextLine();
            String [] str=s.split(" ");
            int [] arr= new int[str.length-];//最後那個數不加參與排序的
            for(int i=;i<str.length-;i++){
                arr[i]=Integer.parseInt(str[i]);
            }
            System.out.println(getMin(arr,Integer.parseInt(str[str.length-])));
        }
    }
}
           

繼續閱讀