【发布时间】:2015-04-30 11:49:03
【问题描述】:
我不知道如何正确地提出问题,但我想要的是以下内容:
假设有一个数组
[1,1,1,1,2,2,2,3,3,3,4,4,5]
如何排序,直到变成输出:
[1,2,3,4,5,1,2,3,4,1,2,3,1]
为了使输出更具可读性:
[[1,2,3,4,5],[1,2,3,4],[1,2,3],[1]]
到目前为止,我想出的是:
array = [1,1,1,1,2,2,2,3,3,3,4,4,5]
array.group_by{|n| n }.values.transpose.flatten
但是由于没有相同数量的数字,这会引发错误。
有人可以帮忙吗?
【问题讨论】:
-
简洁明确地陈述你的问题并不难:“给定一个数组
a和一个空数组b,我希望获得一个数组c,它包含a,将c添加到b,从a中删除c的每个元素之一,重复这些步骤直到a为空,然后返回b。”一旦明确说明,将问题的每个元素转换为代码就相当简单了。
标签: ruby