gpt4 book ai didi

ruby - 将排序数组划分为连续数字数组的最佳方法?

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

在 Ruby 中是否有一种简单的方法或方法可以将数组划分为连续数字的数组?

[1,2,3,5,6,8,10] => [[1,2,3],[5,6],[8],[10]]

我可以为此制定一些例行程序,但想知道是否有快速的方法。

山姆

最佳答案

我喜欢注入(inject):

numbers = [1, 2, 3, 5, 6, 8, 10]
contiguous_arrays = []
contiguous_arrays << numbers[1..-1].inject([numbers.first]) do |contiguous, n|
if n == contiguous.last.succ
contiguous << n
else
contiguous_arrays << contiguous
[n]
end
end

#=> [[1, 2, 3], [5, 6], [8], [10]]

关于ruby - 将排序数组划分为连续数字数组的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22725197/

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