前言
之前一直刷力扣,昨天做了小红书笔试,发现是acm模式,不太熟悉,特此总结。其实如果是acm模式就需要自己写一下输入输出。前端一般有两个选择,一个是基于 V8 环境,另一个是基于 node。
如果大家有什么踩过的坑或者应该注意的地方,欢迎评论分享!!!
V8
// 对于有多行输入
let inputArr = []
while(line = read_line()) {inputArr.push(line)
}
注意
- 在赛码网中提供read_line()读取一行输入;readInt()读取一个整数;readDouble()读取一个浮点数
- 在牛客网中提供readline() 读取一行输入
node
const readline = require('readline')
const rl = readline.createInterface({input: process.stdin,output: process.stdout
})
//存放输入的数据
const inputArr = []
//line是输入的每一行,为字符串格式
rl.on('line', function (line) {//将输入流保存到inputArr中(注意为字符串数组)inputArr.push(line.split(' '))
}).on('close', function () {//调用函数并输出console.log(fun(inputArr))
})// 核心算法函数
function fun(arr) {return arr
}
注意点
- 如果是数字(直接获取的都是字符串,需要转化),就处理成数字,记得利用trim()过滤字符串前后空格。
小结
- 尽快熟悉acm模式
- 训练实际问题转化的能力