做法有很多,
1,排序 复杂度O(n*logn)
2,数字范围优先,建立标记数组,以空间换时间 O(n)
class Solution {
public int[] getLeastNumbers(int[] arr, int k) {
int[] t = new int[10001];
for(int i = 0; i < arr.length; i++){
t[arr[i]] ++;
}
int[] ans = new int[k];
int i = 0, j = 0;
while(j < k){
if(t[i] > 0){
ans[j ++] = i;
t[i] --;
continue;
}
i++;
}
return ans;
}
}