牛客网javascript编程的输入输出
来源:互联网 发布:微博数据采集器 编辑:程序博客网 时间:2024/05/22 14:56
写在前面
转载地址http://blog.csdn.net/baidu_38742725/article/details/77717853?locationNum=5&fps=1
作为一名程序员,你找工作的时候一定要刷牛客网的各种算法、数据结构和编程题,那么,问题来了,牛客网的在线编程题,不是所有的都可以通过一个function解决的,尤其在线考试那些,都需要标准的输入输出,那么重点来了,怎么输入输出数据呢?(注:输入默认为字符串)
总结了下:
方法一:V8之readline
方法二:Node之readline
方法三:Node之process
V8
//求a+b//前面四行都是一样的//牛客网:readline//赛码:read_linevar print = console.log;var __readline = require('readline-sync');__readline.setDefaultOptions({prompt: ''});var read_line = __readline.prompt;while(line=read_line()){ //write your code here var lines = line.split(" "); var a = parseInt(lines[0]); var b = parseInt(lines[1]); print(a+b);}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
readline方法
//单行输入var readline=require("readline");const r1=readline.createInterface({ input:process.stdin, output:process.stdout});r1.on('line',function(line){ //write your code here});
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
example:
//字符串最后一个单词的长度/*计算字符串最后一个单词的长度,单词以空格隔开。输入描述: 一行字符串,非空,长度小于5000。输出描述: 整数N,最后一个单词的长度。输入:hello world输出:5 *///字符串最后一个单词的长度var readline=require("readline");const r1=readline.createInterface({ input:process.stdin, output:process.stdout});r1.on('line',function(line){ //找到数组中最后一个空格 var lastSpacebar = line.lastIndexOf(" "); //用splice获取最后一个字符串 var lastWord = line.slice(lastSpacebar+1); console.log(lastWord.length);});
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
//多行输入var readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});const lines = [];rl.on("line", function(line) { //将输入放到新建的空数组中 lines.push(line); //判断,如果输入的行数等于某一值时 if (lines.length === 2){ //通过数组索引分别得到数组中每一行的数据,并做相应操作 const num1 = lines[0].split(' ').sort(function(a,b) {return b-a;}); const num2 = lines[1]; // console.log(num1); // console.log(num2); console.log(num1[num2-1]); }});
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
//多行输入const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});var inputArr = [];rl.on('line', function (input) { //将输入放到新建的空数组中 inputArr.push(input); //将输入的数据转换为数组 var inputs = input.split(" "); //得到第一行的那个数(行数) var nLine = +inputArr[0]; //判断,如果第一行输入的数字(行数)等于输入的总行数 if (inputArr.length == (nLine + 1)) { //截取第一行到最后一行数据(即:除了第一个数据行数之外的其他数据) var arr = inputArr.slice(1); //这里打印的arr不包括第一行数字(行数) console.log(arr); //这里打印的inputArr包括第一行数字(行数) // console.log(inputArr); inputArr = []; // console.log(inputArr); }});
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
process方法
process.stdin.resume();process.stdin.setEncoding("ascii")var input=""process.stdin.on("data",function(data){ //将输入的数据赋给input input+=data; var chunk= data.slice(0,-2); if(chunk===''){ process.stdin.emit('end'); }})process.stdin.on('end',function(){ //将输入的多行数据转换为数组 var arr=input.split("\n"); //去掉数组的第一个数据 arr.shift(); var arrb=[] //循环遍历数组,将去重后的数据保存到新的数组arrb中 for(var i=0;i<arr.length;i++){ if(arrb.indexOf(arr[i])==-1){ arrb.push(arr[i]) } } //这里调用了API,排序,将得到的数组arrb排序并且转换为字符串 var str=arrb.sort(function(a,b){return a-b;}).join('\n'); console.log(str);})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
程序媛小白一枚,有错误的地方,还望大佬指正~~O(∩_∩)O
阅读全文
0 0
- 牛客网javascript编程的输入输出
- 牛客网js编程的输入输出
- 牛客网在线编程输入输出
- 牛客网编程题输入输出
- 牛客网JS编程处理输入输出
- JavaScript输入输出
- javascript输入输出
- JavaScript输入输出
- I/O接口的输入输出编程原理
- Linux 下的 shell 编程之 输入输出
- nodeJS实现牛客网、赛码网在线编程输入输出
- JavaScript窗口及输入输出
- ( 1 )JavaScript输入输出
- JavaScript窗口及输入输出
- 文件输入输出编程
- java基本输入输出编程:文本界面的输入与输出
- Shell编程学习(2)----输入输出的一些命令总结
- Javascript的编程方法
- HTML实现滚动条
- ISE中map过不了,报错slice资源不够
- java高并发同步问题
- (1)shiro的简介
- linux防火墙设置
- 牛客网javascript编程的输入输出
- 安卓仿微信眼睛下拉刷新,上拉加载
- centos mysql升级
- HDU 6208 The Dominator of Strings 读入挂+kmp / AC自动机
- Linux Shell脚本编程--cut命令
- python 变量类型转换
- web页面视频连接
- Python 面向对象的基本使用
- (精华)七大查找算法