Ruby 比较最大的潜在数字

Ruby comparing biggest potential number

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

我打算将每个数字拆分成一个数组,然后将每个数字与对应的相反数组位置进行比较。我觉得会有更好的 ruby 方法来做到这一点。

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]

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