Fork me on GitHub

最小的K个数

题目描述

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
 1 import java.util.ArrayList;
 2 import java.util.Collections;
 3 
 4 /**
 5  * 
 6  * @author gentleKay
 7  * 题目描述
 8  * 输入n个整数,找出其中最小的K个数。
 9  * 例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
10  */
11 
12 public class Main29 {
13 
14     public static void main(String[] args) {
15         // TODO Auto-generated method stub
16         int[] array = {4,5,1,6,2,7,3,8};
17         ArrayList<Integer> list = new ArrayList<>();
18         list = Main29.GetLeastNumbers_Solution(array, 10);
19         System.out.println(list);
20     }
21     
22     public static ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
23         ArrayList<Integer> array = new ArrayList<>();
24         for (int i=0;i<input.length;i++) {
25             array.add(input[i]);
26         }
27         Collections.sort(array);  // 利用Collections 来对集合 array 进行排序。 
28         
29         // return array;
30         ArrayList<Integer> arr = new ArrayList<>();
31         if (input.length < k) {
32             return arr;
33         }
34         for (int i=0;i<k;i++) {
35             
36             arr.add(array.get(i));
37         }
38         return arr;
39     }
40 
41 }

Collections:

Arrays:

 

posted @ 2019-07-09 11:47  gentleKay  阅读(165)  评论(0编辑  收藏  举报