思路:看到这个题的第一瞬间我就想到了TreeSet,利用TreeSet在插入元素的时候会进行排序这一特性,这道题还有什么难度呢?遍历数组将所有元素存入TreeSet,然后再遍历TreeSet,取出需要的前K个元素即可。代码如下:
import java.util.TreeSet;
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
if(k>input.length||input.length==0){
return new ArrayList<Integer>();
}
TreeSet<Integer> treeSet = new TreeSet<Integer>();
for(int i:input){
treeSet.add(i);
}
ArrayList<Integer> list = new ArrayList<Integer>();
int count=0;
for(int i:treeSet){
if(count==k){
break;
}
list.add(i);
count++;
}
return list;
}
}