题解 | #相差不超过k的最多数#

相差不超过k的最多数

https://www.nowcoder.com/practice/562630ca90ac40ce89443c91060574c6

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    let [n,k]=(await readline()).split(" ").map(it=>parseInt(it));
	//有时候会读取到后面的空格,所以要特别处理
    let arr=handle((await readline()).split(" "))
	//从小到大排序
    arr.sort((a,b)=>a-b);
    let max=0
	//滑动窗口的过程
    for(let l=0,r=0;r<arr.length;r++){
        while(arr[r]-arr[l]>k){
            l++
        }
        if(r-l+1>max){
            max=r-l+1
        }
    }
    console.log(max)
}()

//这个函数主要作用就是剔除空字符串并构造新的数字字符串
function handle(arr){
    let new_arr=[]
    for(let str of arr){
        if(str!=""){
            new_arr.push(parseInt(str))
        }
    }
    return new_arr
}

#js滑动窗口解题#
全部评论

相关推荐

2024-12-25 09:09
四川师范大学 运营
下北泽沼气能源公司HR_田所浩二:个人比较在意wlb,不喜欢生活让步于生活,所以坚定选Walmart
点赞 评论 收藏
分享
2024-11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务