我问是否有一个方法或库可以轻松读取这类输入字符串的数字(如竞争性编程):
2 3
0 1 20
1 2 2
0 2 17
我发现Scanner class of Java之类的内容,因为它有检测下一个数字的方法,它跳转到下一行,...
提前致谢!
答案 0 :(得分:1)
尝试使用parseInt
来阅读数字。你也可以用你喜欢的字符串来获得数字数组:
var numbers = str.split(" ").map(function(item) { return parseInt(item); });
答案 1 :(得分:0)
如果您可以访问这些行,则可以使用以下内容:
var i, lines = [ /* your lines goes here */], row;
// get lines
for (i = 0; i < lines.length; i++) {
row = lines[i].split(' ').map(Number);
// do something with row
}
答案 2 :(得分:0)
您可以做的最好的事情是使用函数式编程来实现一组方法,您可以按照您认为合适的方式一起使用。
const byLine = (input) => input.split('\n');
const toInt = (el) => Number(el);
const getDigits = (el) => el.split(' ').map(toInt);
const flatten = (arr) => arr.reduce((p, c) => p.concat(c));
function scanner(input) {
return flatten(byLine(input).map(getDigits));
}