Java教程

牛客题霸——最小的K个数(Javascript)

本文主要是介绍牛客题霸——最小的K个数(Javascript),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、文章链接

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
};
这篇关于牛客题霸——最小的K个数(Javascript)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!