题解 | #相差不超过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滑动窗口解题#