4
A
回答
6
不是更优雅,但速度更快:
def digits(n)
(0..Math.log10(n).to_i).map { |dp| n/10 ** dp % 10 }.reverse
end
另一个快一个我刚刚发现(最快)
def digits(n)
n.to_s.each_byte.map { |x| x - 48 }
end
基准:
user system total real
Split map 0.410000 0.000000 0.410000 ( 0.412397)
chars 0.100000 0.010000 0.110000 ( 0.104450)
each byte 0.070000 0.000000 0.070000 ( 0.068171)
Numerical 0.100000 0.000000 0.100000 ( 0.101828)
基准测试的代码是在这里,顺便说一下:https://gist.github.com/sid-code/9ad26dc4b509bfb86810
+2
我在想分裂也很慢。 。 。想与'n.to_s.chars.map(&:to_i)'进行比较? –
+0
我会编辑答案,包括那一个 – itdoesntwork
+0
是的,我会去的字符之一,它是快速和优雅,两全其美。 – itdoesntwork
相关问题
- 1. 是否有任何函数将None转换为空字符串?
- 2. 是否有一种优雅的方式将逻辑索引转换为数字索引?
- 3. 是否有将数组转换为字典的声明方式?
- 4. 任何将字符串数组转换为字符数组的方法?
- 5. 优雅的方式是否存在将双重转换为长的优势?
- 6. 是否有Matlab函数将任何数据结构转换为字符串?
- 7. 如何在Python中更优雅地将字节数组转换为整数
- 8. 是否有任何简单的方法来将python中的type()函数的输出转换为字符串?
- 9. 将字符串'a.pdf'转换为'a.jpg'最优雅的方式是什么?
- 10. 是否有算法将数字组合转换为一个数字?
- 11. 是否有任何优雅的方式来在python中构建多级字典?
- 12. 将Ruby字符串转换为整数数组的字节?
- 13. 如何以优雅的方式将具有数组值的映射转换为字符串列表?
- 14. 将阵列数组的字符串转换为数组的Javascript数组的优雅方式?
- 15. 将树转换为功能图库树的优雅方法?
- 16. 将字符串数字(字格式)转换为整数ruby
- 17. 在Ruby中将数字字符串转换为数字
- 18. Scala:将字符串转换为布尔值的优雅
- 19. Java是否有将字符串转换为字节数组的函数?
- 20. 如何将字数转换为数字
- 21. 是否有java方法来将字符串和转换为整数
- 22. Ruby:如何使用.chr方法将数组数组转换为字符?
- 23. Java将对象转换为字节数组的有效方法
- 24. 将numpy数组转换为字符串的最有效方法
- 25. 将io.ReadCloser转换为字节数组的最有效方法
- 26. 将数字转换为名称有更快的方法吗?
- 27. 简单的方法将字符串转换为数字或null?
- 28. 是否有任何解决方案将unicode数字符号转换为实际字符
- 29. 检查查询字符串参数值的最优雅方式是否为空?
- 30. 是否有将类转换为字符串的标准方式
@ itdoesntwork的'each_byte'方法很有意思,但我认为大多数Rubiests会和你所拥有的一样,尽管我认为'string_of_digits = n.to_s.each_char.map(&:to_i)'是一个小改进,因为它没有创建一个中间数组。 –