【发布时间】:2021-05-31 03:58:24
【问题描述】:
假设我有一个仅包含整数(正数和负数)的列表/数组。我想制作一种方法,只获取相同且连续的数字的总和。结果应该是一个数组,如下面的示例所示。 “相同”条件含义:1 == 1
例子:
[1,4,4,4,0,4,3,3,1] # => [1,12,0,4,6,1]
So as you can see sum of consecutives 1 is 1
sum of 3 consecutives 4 is 12
sum of 0... and sum of 2
consecutives 3 is 6 ...
[1,1,7,7,3] # => [2,14,3]
[-5,-5,7,7,12,0] # => [-10,14,12,0]
我试过这个,但是没有连续条件,我要怎么添加那个条件?
def sum_consecutives(string)
string.map{|num| string.count(num) > 1 ? num * string.count(num) : num}
end
提前致谢:-)
【问题讨论】:
标签: arrays ruby methods sum conditional-statements