输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
快排排序
function GetLeastNumbers_Solution(input, k)
{
// write code here
var res = [];
if(k <= 0 || input.length < k ) return res;
var arr = quickSort(input);
return arr.slice(0,k)
}
function quickSort(arr) {
if(arr.length <= 1) return arr;
var pivotIndex = parseInt(arr.lenght / 2);
var pivot = arr.splice(pivotIndex,1);
var left = [], right =[];
for(var i = 0; i < arr.length; i++) {
if(arr[i] < pivot) {
left.push(arr[i])
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot],quickSort(right));
}