我有一个说 1000 个对象的列表。我想在每个对象中添加一个字段来表示最后 20 个对象的标准偏差。到列表末尾,我将有 980 个滚动标准偏差和 20 个 nil。
如果我遍历列表并找到 stdev,但我之前将它推送到元素 20 个对象,那是什么类型的问题?那是2n的问题吗?
这是我的代码示例:
(0...thelist.length-20).each do |n|
...do some calculations on n
if n == 20:
...use the calculations to calculate stdev
thelist[n-20].push(stdeviation)
end
end
基本上我想知道如何[n-20]
影响函数的理论速度。
我也可以做类似下面的事情来计算标准偏差,但我觉得上面的会更快,因为我在每个单独的元素上计算更多,而不是在下面对 20 个元素进行迭代。速度有区别吗?
(0...thelist.length-20).each do |n|
(n..n+20).each do |m|
...calculate stdev
end
end