0

我有

strings = ["aaa", "bb", "ccc", "ddd", "e", "ff", "rrrrrrrr", "tttttttt", "a"]

我想对数组中的字符串进行分组,以便每个元素不再是 5 并且不短于 9。字符串必须保持它们在数组中的顺序。

编辑:抱歉混淆,是的 - 至少 5 个,最多 9 个。

我正在寻找的结果是:

 result  = ["aaabbbccc", "dddeff", "rrrrrrrr", "tttttttta"]
4

1 回答 1

1

由于您的问题是以一种相当混乱的方式指定的,因此这是我能想到的最好的方法。

strings.inject(['']) { |a, s| a.last.size + s.size <= 9 ? a.last << s : a << s ; a }
#=> ["aaabbccc", "dddeff", "rrrrrrrr", "tttttttta"]
于 2012-07-11T08:48:12.323 回答