发布于 2022-12-25, 更新于 2024-05-27
用 JavaScript 去写需要自行获取输入的算法平台时,除了处理输入稍微繁琐,总体来说没有什么问题。对于获取输入流,我整理了一个代码模板框架,个人感觉还是比较好用的,可以做到像其他语言一样按行读取。
可借助编辑器的快捷输入,去使用这套模板框架,比如:
包括:
let bs = ''
process.stdin.on('data', d => bs += d)
process.stdin.on('end', () => run(bs))
function run(bs) {
let buf = bs.trim().split('\n'), bp = 0
let readline = () => buf[bp++]
let [n] = readline().split(' ').map(x => +x)
}
继续读取下一行,并按空格拆分:
let line = readline().split(' ').map(x => +x)
应用场景:
算法题往往需要创建指定长度的数组。
备注:不要将以下代码封装为函数,而是直接使用。封装为函数的话,创建多层数组,会遭到优化,导致每一个二级数组都指向同一个地址。
Array.from({length: n}, () => )