求助,如题。 我想如果用任何字符串处理肯定是慢的。
用与或计算应该会比较快一点。
require 'benchmark'; s='1' * 1000_000_000; puts Benchmark.measure{s.count '1'}
0.780000 0.000000 0.780000 ( 0.778674)
问题是数据的来源就是字符串,你要用某种基于数值或者位的算法来处理的话,还要首先将字符串转成数字,这个时间代价不一定比 String#count 小吧