可以使用TreeSet将其排序并去除掉重复元素,之后再用ArrayList保存其所需要的前K的元素。
public ArrayList<Integer> GetLeastNumbers_Solution(int[] input, int k) {
ArrayList<Integer> list1 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
if(input==null||input.length==0||k==0||k>input.length){
return list1;
}
TreeSet<Integer> treeSet = new TreeSet<>();
for (int i=0;i<input.length;i++){
treeSet.add(input[i]);
}
Iterator<Integer> iterator = treeSet.iterator();
while (iterator.hasNext()){
list1.add(iterator.next());
}
for (int i=0;i<k;i++){
list2.add(list1.get(i));
}
return list2;
}