Ruby比较最大的潜在数字

时间:2015-05-13 09:10:38

标签: ruby-on-rails arrays ruby comparison

快一点。我有一个阵列[92,901]我想安排这些,以便如果他们被压缩在一起,他们将产生最大的潜在数字。在这种情况下,它将是92然后901来制作92901.这些数字也可能很大,并且数组中可能有很多整数。

我打算将每个数字拆分成一个数组,然后将每个数字与相应的相对数组位置进行比较。我觉得这样做会有更好的红宝石方式。

1 个答案:

答案 0 :(得分:2)

ar = [1,2,99,901] 
p ar.map(&:to_s).sort.reverse.join.to_i   # => 9990121

p ar.sort_by(&:to_s).reverse # => [99, 901, 2, 1]

这将创建一个字符串数组,这些字符串按字母顺序排序。这种排序从低到高 - 需要相反,因此排序的数组是相反的。