题解 | #最小的K个数#
最小的K个数
http://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf
public class Solution {
ArrayList<Integer> list = new ArrayList<>();
int kk = -1,pp = -1;
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
if(k == 0){
return list;
}
for(int i=0;i<input.length;i++){
if(list.size() == k){
setValue(input[i]);
}else{
list.add(input[i]);
}
}
return list;
}
public void setValue(int op){
if(kk == -1){
for(int j=0;j<list.size();j++){
if(kk < list.get(j)){
kk = list.get(j);
pp = j;
}
}
}
if(kk > op){
list.set(pp,op);
kk = -1;
}
}
}