gpt4 book ai didi

ruby - 使用 ruby​​ 识别阵列上的运行

转载 作者:数据小太阳 更新时间:2023-10-29 07:09:48 25 4
gpt4 key购买 nike

如果我们有一个数组

array = [1, 1, 0, 0, 2, 3, 0, 0, 0, 3, 3, 3 ]

我们如何识别给定数字的运行(具有相同值的连续数字的数量)?例如:

run_pattern_for(array, 0) -> 2
run_pattern_for(array, 3) -> 1
run_pattern_for(array, 1) -> 1
run_pattern_for(array, 2) -> 0

没有 2 的运行,因为没有连续出现 2。3 有一个运行,因为只有一个幻影以树为连续数字。

最佳答案

尝试:

class Array
def count_runs(element)
chunk {|n| n}.count {|a,b| a == element && b.length > 1}
end
end

a = [1, 1, 0, 0, 2, 3, 0, 0, 0, 3, 3, 3 ]
a.count_runs 0 #=> 2
a.count_runs 3 #=> 1
a.count_runs 1 #=> 1
a.count_runs 2 #=> 0

关于ruby - 使用 ruby​​ 识别阵列上的运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23641285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com