题目描述
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
话不多说
直接上代码
1 public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
2 ArrayList<Integer> list=new ArrayList<Integer>();
3 if (k>input.length) {
4 return list;
5 }
6 for (int i = 0; i < input.length; i++) {
7 list.add(input[i]);
8 }
9 Collections.sort(list);
10 List<Integer> list2= list.subList(0, k);
11 ArrayList<Integer> resultList=new ArrayList<>(list2);
12 return resultList;
13
14 }
注意:第10行中不能直接写成 ArrayList<Integer> list2= (ArrayList<Integer>) list.subList(0, k);
负责会报错java.util.ArrayList$SubList cannot be cast to java.util.ArrayList