今天做了一道字节的题目,是字节自己出的新题,没有任何题解,且只能使用 ACM 模式,代码编辑区一片空白。然而当我想获取自定义的输入数据时,却获取不到。本人前端一枚,平时做题都是使用 JS 写算法,所以本文讨论的是针对在力扣 ACM 模式中使用 JS 获取输入数据的问题。
问题排查
之前我在牛客网上做过一些题目,自然想到了使用readline
方法读取每一行数据。
const temp = readline();
执行代码后,显示没有readline
这个函数,看样子是不行。
之前我看力扣的官方文档,找到了ACM模式中C++、Python和Java的输入方法,https://support.leetcode-cn.com/hc/kb/article/1519140/
,于是想到了使用 node 环境中的输入输出处理方法。
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
rl.on('line', function(line){
console.log(line);
})
结果直接给我返回执行错误。
解决方案
后来在很长时间的查找和探索之后,终于找到了解决方案!
var raw = require('fs').readFileSync('/dev/stdin', 'utf8').trim().split('\n');
console.log(raw)
谁能想到力扣竟然把测试用例放在了文件中呢!