赛码网 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
以后就可以在本地测,测完直接粘贴到赛码上了。

了解这些之后,赛码网的编程体验其实也没那么差🐶
#前端##笔试题目##京东#
全部评论
排名第一的央企成员企业招聘啦,南京,深圳皆岗,内推码yangj008 https://www.nowcoder.com/discuss/714257
点赞
送花
回复 分享
发布于 2021-08-22 15:34
可以直接切出网页然后用编辑器测试吗??楼主
点赞
送花
回复 分享
发布于 2021-09-05 23:22
秋招专场
校招火热招聘中
官网直投
赛码网需要手机开摄像头不,还是只需要电脑摄像头,谢啦
点赞
送花
回复 分享
发布于 2021-10-04 20:17
请问怎么在本地进行赛码的环境搭建呢
点赞
送花
回复 分享
发布于 2022-05-06 16:58
感谢
点赞
送花
回复 分享
发布于 2022-06-09 23:10

相关推荐

20 44 评论
分享
牛客网
牛客企业服务