//归并排序简单,思路清晰;
function GetLeastNumbers_Solution(input, k){
let ans = mergeSort(input);
return ans.slice(0, k);
}
function mergeSort(arr){
if(arr.length < 2)
return arr;
let mid = Math.floor(arr.length / 2);
let left = mergeSort(arr.slice(0, mid));
let right = mergeSort(arr.slice(mid));
return merge(left, right);
}
function merge(left, right){
let res = [];
while(left.length && right.length){
if(left[0] <= right[0])
res.push(left.shift());
else
res.push(right.shift());
}
return res.concat(left, right);
}
module.exports = {
GetLeastNumbers_Solution : GetLeastNumbers_Solution
};