【发布时间】:2019-04-15 17:44:16
【问题描述】:
我有一个这样的数字数组:
list1 = [50, 2, 99, 1, 958, 9, 6, 80]
我需要逐位比较所有元素。 例如,比较“9”、“99”和“958”很重要,因为我需要像这样将“99”放在末尾:
list1 = [1, 2, 50, 6, 80, 9, 958, 99]
Ruby 有这方面的功能吗? 非常感谢您的帮助:)
【问题讨论】:
-
你能提供更多关于你的排序规则的上下文吗?您可以使用
list1.map(&:to_s).sort转换为字符串,并按照我 think 的要求对其进行排序,但是您的第二个示例没有对列表的前半部分进行排序(例如,为什么 50在 2 之前排序?) -
嘿!我必须用数组的所有元素写出最大的数字。例如:[50, 2, 1, 9] 应该输出数字“95021”。这就是为什么我必须逐位比较元素的原因。 (对不起我的第二个例子,我没有检查数组的开头;))
-
“对不起我的第二个例子”?您是指问题中的示例吗?如果是这样,您为什么不编辑问题来解决它?我看到您是 SO 新手,但是您应该纠正问题中的错误不是常识吗?另外,如果你想构造一个字符串(例如,“95021”),你为什么不在你的问题中这么说呢?
标签: arrays ruby compare element digits