gpt4 book ai didi

ruby-on-rails - 计算数组元素之间的差异

转载 作者:数据小太阳 更新时间:2023-10-29 06:35:02 26 4
gpt4 key购买 nike

给定一个由 n 个整数组成的有序数组,如下所示:

ary = [3, 5, 6, 9, 14]

我需要计算数组中每个元素与下一个元素之间的差异。使用上面的例子,我最终会得到:

[2, 1, 3, 5]

起始数组中可能有 0 个、1 个或多个元素,我要处理的数字会大得多(我将使用纪元时间戳)。我尝试了以下方法:

times = @messages.map{|m| m.created_at.to_i}
left = times[1..times.length-1]
right = times[0..times.length-2]
differences = left.zip(right).map { |x| x[0]-x[1]}

但我上面的解决方案既不是最优的,也不理想。谁能帮帮我?

最佳答案

>> ary = [3, 5, 6, 9, 14] #=> [3, 5, 6, 9, 14]
>> ary.each_cons(2).map { |a,b| b-a } #=> [2, 1, 3, 5]

编辑:inject 替换为 map

关于ruby-on-rails - 计算数组元素之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4662615/

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