近段时间在牛客网刷题,到目前为止刷了53道编程题(其中包括23道剑指offer编程题,30道各大厂往年的校招真题)。刚开始在牛客网刷各大厂校招真题的时候,最头疼的就是输入数据的读取和结果的输出了吧。网上搜有关牛客网JS编程的输入和输出的处理方法,找到有点帮助也就只有牛客网在线判题系统使用帮助 。今天闲来无事,因此对已经刷过的编程题就如何处理输入输出做一个总结,仅供参考。
举例说明
简单来说,输入数据用readline()
读取,输出结果用print()
或console.log()
输出,下面举几个例子:
1.输入一行,输出一行
var line = readline();
print();
//或者
while(line = readline()){
//Do some operation
print();
}
2.输入两行,输出一行
var line = readline();
var num = parseInt(readline());
print();
3.输入数据有多组,每组单独占一行,对于输入的每组数据,对应输出多组,每组单独占一行(这种情况和例子1是一样的处理方法)
var line = readline();
print();
//或者
while(line = readline()){
//Do some operation
print();
}
4.输入数据有多组,每组占两行,对于输入的每组数据,对应输出多组,每组单独占一行(这种情况和例子2是一样的处理方法)
var line = readline();
var num = parseInt(readline());
print();
5.输入数据第一行表示测试样例数,接下来的n行表示n组测试样例,对于输入的每组测试样例,对应输出n组数据
var num = parseInt(readline());
while(line = readline()){
//Do some operation
print();
}
6.输入n行,输出一行
while(line = readline()){
//Do some operation
}
print();
注意:上面的例子是读取输入数据和输出数据,读取到的数据还要处理。
例如输入包括一行,用空格分开的两个正整数,那么用var line = readline()
读取到输入数据之后,还要将读取到的字符串转为数组var arr = line.split(' ');
然后经过var num1 = parseInt(arr[0]), num2 = parseInt(arr[1])
读取到输入的两个正整数。总之,还需要多实践,慢慢就知道牛客网在线编程的套路了。最后,祝好。