使用javascript做在线算法编程

前端之家收集整理的这篇文章主要介绍了使用javascript做在线算法编程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

基于node的readline一样可以使用标准流的输入输出

对于大学生在刚开始学习c,c++,java的时候,写着hello word的代码,然后在命令框中输入输出

基于很多算法的学习,在我短浅的认识中,身边的同学都是使用 c, c++,甚至是java去写;

很多算法题目中的输入描述和输出描述

例如牛客网上的算法题:

类似于这种的东西,在杭州acm的算法题目也是。

诀窍------使用nodejs内置封装好的readline模块;[kbd][/kbd]

1.readline 模块 【逐行读取】

readline主要的功能是提供了一个可以从可读流中读取数据;

这里可以对nodejs的可读流和可写流进行深入研究

2.如何使用readline?

一个基本的例子:

>' } const rl = readline.createInterface(option); rl.question('你觉得js的这个模块怎么样?',(answer) => { // 对答案进行处理 // 注意:log中的要使用 `` 而不是 ''; console.log(`你觉得:${answer}`); // 关闭标准流 rl.close(); });

详情可以点击我的github的

3.进一步扩展去应用

3.1例如做一个简单的命令行界面;

' }); // rl.prompt() 方法会在 output 流中新的一行写入 readline.Interface 实例配置后的 prompt,用于为用户提供一个可供输入的新的位置。 rl.prompt(); // 'line'事件是 获取用户输入的值直到按下【return / enter】 按键;\n、\r 或 \r\n rl.on('line',(line) => { // ob.trim()==>从字符串中移除前导空格、尾随空格和行终止符。 switch (line.trim()) { case 'hello': console.log('world!'); break; default: console.log(`你输入的是:'${line.trim()}'`); break; } rl.prompt(); }).on('close',() => { console.log('再见!'); //推出标准流; process.exit(0); });

3.2类似于牛客网编程的例子;

这是一个单行读取的demo

这是一个多行读取的demo

a+b; var arr =[]; rl.on('line',function(line){ // 表示已经在读取第一行的n行数; if(n == -1){ // 类型转换和去除首位空格和终止符;并把行数赋值给n; n = parseInt(line.trim()); console.log('n:'+n) } else{ // 存入数组; arr.push(line.trim()); if(n == arr.length){ // 这里是执行你要的代码; // var result = arr[1]; var result = sum(arr[0],arr[1]); console.log("result:"+result) //恢复没读取状态; arr.length=0; n=-1; } } })

总结

以上所述是小编给大家介绍的使用javascript做在线算法编程。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文链接:https://www.f2er.com/js/32160.html

猜你在找的JavaScript相关文章