从STDIN中读取1000000个字符(整数),并将其拆分为一个由一个字符组成的整数(而不是字符串)的数组,最快的方法是什么?
123456 > [1,2,3,4,5,6]发布于 2010-07-26 19:43:31
这应该相当快:
a = []
STDIN.each_char do |c|
a << c.to_i
end尽管一些粗略的基准测试表明这个黑客版本的速度要快得多:
a = STDIN.bytes.map { |c| c-48 }发布于 2010-07-26 19:43:43
scan(/\d/).map(&:to_i)这将把任何字符串拆分为整数数组,忽略任何非数字字符。如果您想从STDIN获取用户输入,请添加gets:
gets.scan(/\d/).map(&:to_i)https://stackoverflow.com/questions/3334294
复制相似问题