题解 | #相差不超过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滑动窗口解题#
九号公司成长空间 1人发布