https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf?tpId=188&&tqId=38570&rp=1&ru=/activity/oj&qru=/ta/job-code-high-week/question-ranking
function GetLeastNumbers_Solution(input, k) { if(k > input.length) { return []; } //1、创建一个长度为k的数组 let res = new Array(k); //2、将input的前k个数放入res数组中 for(let i=0; i<res.length; i++) { res[i] = input[i]; } //3、将input数组中下标为res.length的数开始,和res中的最大值进行比较 for(let i=res.length; i<input.length; i++) { //3.1、获取res数组中最大的一个,即获得max let max = Math.max(...res); //3.2、如果max大于input[i] if(input[i] < max) { //3.3、将max替换为input[i] let index = res.indexOf(max); res.splice(index, 1, input[i]); } } //返回结果数组(注意:返回的结果要求要从小到大排序) return res.sort(); } module.exports = { GetLeastNumbers_Solution : GetLeastNumbers_Solution };