题目描述:
给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组
输入:[4,5,1,6,2,7,3,8],4
输出:[1,2,3,4]
import java.util.ArrayList; import java.util.*; public class Solution { public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) { ArrayList<Integer> res = new ArrayList<Integer>(); if (k > input.length || input == null){ return res; } int len = input.length; for (int n=0; n<k; n++){ for (int i=0; i<len-1;i++){ if (input[i] < input[i+1]){ int temp = input[i]; input[i] = input[i+1]; input[i+1] = temp; // System.out.println(Arrays.toString(input)); } } res.add(input[len-1-n]); } return res; } }