最小的K个数

最小的K个数

       死亡可以带走生命却带不走生命的痕迹。

背景:Java 在线编程机试刷题。

题目描述:

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。

输入描述:

例如输入4,5,1,6,2,7,3,8这8个数字。

输出描述:

最小的4个数字是1,2,3,4。

示例1:

输入:

[4,5,1,6,2,7,3,8],4

输出:

[1,2,3,4]

Java代码:

 1 import java.util.*;
 2 
 3 public class Solution {
 4     
 5     public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
 6         ArrayList<Integer> list = new ArrayList<Integer>();
 7         int length = input.length;
 8         if(k > length || k < 0){
 9             return list;
10         }
11 
12         for(int i = 0; i < length - 1; i++){
13             for(int j = 0; j < length - i - 1; j++){
14                 if(input[j] > input[j+1]){
15                     int temp = input[j]; // 简单排序
16                     input[j] = input[j+1];
17                     input[j+1] = temp;
18                 }
19             }
20         }
21         
22         for(int i = 0; i < k; i++){
23             list.add(input[i]);  // 取最小的前K个数
24         }
25         
26         return list;
27     }
28 }

输出验证:


 

 

死亡可以带走生命

却带不走生命的痕迹

 

原文地址:https://www.cnblogs.com/taojietaoge/p/14084127.html