JZ-029-最小的 K 個數

雄獅虎豹發表於2021-12-24

標題

最小的 K 個數

輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。

題目連結: 最小的 K 個數

程式碼

import java.util.ArrayList;
import java.util.Arrays;

/**
 * 標題:最小的 K 個數
 * 題目描述
 * 輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。
 * 題目連結:
 * https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf?tpId=13&&tqId=11182&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
 */
public class Jz29 {

    public ArrayList<Integer> getLeastNumbers_Solution(int[] input, int k) {
        ArrayList<Integer> result = new ArrayList<Integer>();
        if (input == null) {
            return result;
        }
        if (k > input.length) {
            return result;
        }
        Arrays.sort(input);
        for (int i = 0; i < k; i++) {
            if (i < input.length) {
                result.add(input[i]);
            }
        }
        return result;
    }

    public static void main(String[] args) {
        Jz29 jz29 = new Jz29();
        int[] input = new int[]{4, 5, 1, 6, 2, 7, 3, 8};
        ArrayList<Integer> result = jz29.getLeastNumbers_Solution(input, 10);
        for (Integer data : result) {
            System.out.println(data);
        }
    }
}
【每日寄語】 生活總是這樣,不能叫人處處滿意,但我們還要熱情活下去。人活一生,值得愛的東西很多,不要因為一個不滿意就灰心。

相關文章