关于JS在OJ系统上面输入输出的总结

1.输入
为了更好的模拟OJ平台,测试的时候我是将测试数据以文档形式保存,然后直接通过流的形式读入数据
var fs = require("fs");
var data = '';
var readerStream = fs.createReadStream('data.txt');
readerStream.on('data', function(chunk) {
   data += chunk;
});
下面是OJ上面的以process.stdin标准的输入(因为OJ系统上面并没有明确指出输入的data的来源以及data的长度,究竟是一组数据还是所有的测试数据,LZ在此纠结了很久,因为data数据是会影响到下面循环的数据输出的,当然如果是一组一行数据是没有影响的)。经过测试发现,这里的data是后台系统中所有存放的测试数据。
process.stdin.on('data', function (data) {
    input += data;
});
2.输出
对于一组单行的数据,测试应该是比较简单的,这里LZ就不再总结强调了,但有一点点需要注意
LZ不知道是否有人注意到这里的+号,第一次写代码的时候因为没怎么影响结果,所以并没有太注意。但是有一次LZ在本次测试结果无任何问题,然后系统测试一直失败,最后LZ把原因找到+这里了。这里就是正数的意思,如果你的input_arrays1[0]是字符串型数据,这个时候在调用函数传参的过程中特别容易出错。(字符串型数据千万不要使用+)

这里是多行数据输入的情况,在本地和系统上面都测试过,没有问题。但是提醒大家需要注意的一点是,之前单行输入的时候
if(line==='') continue;是只有对line进行判断的。LZ当时觉得应该不需要对line2和line3进行判断,然后之后测试代码一直出错,出错
点是如果没有对line2等进行判断的话,如果它进行split('')等操作,就容易提示出错!所以大家切记要进行数据的判断
帖总结,LZ新手,大家多指教。。。最后附上NodeJS的学习网站,总结还是比较全的http://www.yiibai.com/nodejs/nodejs_streams.html








全部评论
+不是正数的意思。。+是JS的一元加运算符,具体说法如下: 绝大多数开发人员对一元加和减操作符都不会陌生,而且这两个 ECMAScript 操作符的作用与数学 书上讲的完全一样。一元加操作符以一个加号(+)表示,放在数值前面,对数值不会产生任何影响, 如下面的例子所示:var num = 25;num = +num; // 仍然是 25不过, 在对非数值应用一元加操作符时, 该操作符会像 Number() 转型函数一样对这个值执行转换。 换句话说,布尔值 false 和 true 将被转换为 0 和 1,字符串值会被按照一组特殊的规则进行解析,而 对象是先调用它们的 valueOf() 和(或) toString() 方法,再转换得到的值。 详情请看《JavaScript高级程序设计(第3版)》第38页 示例代码如下: +(-1); // -1并不会变成正数 +(false); // 0
点赞 回复 分享
发布于 2017-03-31 19:46
楼主厉害了,总结的很好
点赞 回复 分享
发布于 2017-03-28 21:07
具体方案呢?
点赞 回复 分享
发布于 2016-09-19 16:44
楼主好棒!!!
点赞 回复 分享
发布于 2016-08-11 17:24

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-25 17:26
点赞 评论 收藏
分享
06-27 12:54
已编辑
门头沟学院 Java
累了,讲讲我的大学经历吧,目前在家待业。我是一个二本院校软件工程专业。最开始选专业是觉得计算机感兴趣,所以选择了他。本人学习计算机是从大二暑假结束开始的,也就是大三开始。当时每天学习,我个人认为Java以及是我生活的一部分了,就这样持续学习了一年半,来到了大四上学期末,大概是在12月中旬,我终于找的到了一家上海中厂的实习,但我发现实习生的工作很枯燥,公司分配的活也不多,大多时间也是自己在自学。就这样我秋招末才找到实习。时间来到了3月中旬,公司说我可以转正,但是转正工资只有7000,不过很稳定,不加班,双休,因为要回学校参加答辩了,同时当时也是心高气傲,认为可以找到更好的,所以放弃了转正机会,回学校准备论文。准备论文期间就也没有投递简历。然后时间来到了5月中旬,这时春招基本也结束了,然后我开始投递简历,期间只是约到了几家下场面试。工资也只有6-7k,到现在我不知道该怎么办了。已经没有当初学习的心劲了,好累呀,但是又不知道该干什么去。在家就是打游戏,boss简历投一投。每天日重一次。26秋招都说是针对26届的人,25怎么办。我好绝望。要不要参加考公、考研、央国企这些的。有没有大佬可以帮帮我。为什么感觉别人找工作都是顺其自然的事情,我感觉自己每一步都在艰难追赶。八股文背了又忘背了又忘,我每次都花很长时间去理解他,可是现在感觉八股、项目都忘完了。真的已经没有力气再去学习了。图片是我的简历,有没有大哥可以指正一下,或者说我应该走哪条路,有点不想在找工作了。
码客明:太累了就休息一下兄弟,人生不会完蛋的
如果实习可以转正,你会不...
点赞 评论 收藏
分享
评论
点赞
14
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务