首页 > 赛码网 JavaScript 输入输出的问题
头像
上岸上岸上岸吧
编辑于 2021-08-21 23:13
+ 关注

赛码网 JavaScript 输入输出的问题

今天京东笔试,是我第一次使用这个赛码网。
听说不少公司都是用这个,所以还是提前看了看上面 JavaScript 的输入输出问题。

1、ACM模式
我平时是在力扣上刷题,输入输出都给处理过了,之前也很少使用这个ACM模式。
ACM模式要自己处理输入输出,主要有两种情况。
第一种:固定输入规模,只有一组输入。(这一组可能是一行或者多行)
举例,输入第一行是数字n,之后跟着n行数据。
这种情况只需要先读一个 n,然后再循环读n次的数据即可。
let n = readInt();
let arr = [];
for(let i = 0; i < n; i++) {
    arr[i] = read_line();
}
第二种:不限制规模,可能要接收多组输入。(每一组可能是一行或者多行)
这种情况下就要循环接收输入了。
let line;
while(line = read_line()) {    // 如果读到输入文件结尾,就不会再进入循环了
    solve(line);    // 处理一组输入。如果一组输入有不止一行,那就在这里面再读几行。
}
题目中一般会明确告知你,根据样例你也能看出来是多组输入还是一组输入。

2、赛码网的输入输出函数
输入:
- read_line(),返回值是一行字符串,接收到之后可能需要 split 拆分以及 parseInt 取出来
- readInt(),直接读取一个整型,输入文件是一个字符串流,往后读取一个整型时是会跳过空格、回车之类的,总之返回值就是一个 Number
- readDouble(),其实这都不常用了,如果我遇到小数,我一般就用 read_line() + parseDouble()

输出:一般用 print(),本质上就是重命名的 console.log(),如果你写 console.log() 应该也没问题。

注意,这些输入输出函数是赛码网专用的,牛客的和这些略有不同,不同网站都可能有差别,在笔试之前,一定要先去认真看一看网站的编程说明,熟悉之后再参加考试。


3、想在本地环境上写,怎么办?
npm 安装一下 readline-sync 包。
然后重命名一下 console.log、read_line
以后就可以在本地测,测完直接粘贴到赛码上了。

了解这些之后,赛码网的编程体验其实也没那么差🐶

全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐