我有一个数组,我想从每个第四个元素(在这种情况下,每4个,从1开始)开始,每个第n个元素的平均值。什么是最快的方法来做到这一点?快速数组的每个第n个元素的平均值
我目前的方法是一个for循环与循环切换语句,但我想知道是否有一个更快的方法。
我想,如果这样的事情可以工作:
let num_array = [1,2,3,4,5,6,7,8]
let mean4th = num_array[Array(stride(from: 1, to: num_array.count, by: 4))].reduce(0, +)/(num_array.count/4)
希望能得到mean4th = 3
(即(1 + 5)/ 2)
这将返回错误
Cannot subscript a value of type 'Array<UInt8>' with an index of type 'Array<Int>'
。 。我正在努力避开
为什么你想让它更快,更不可读?你必须每秒启动这个代码x次?这是一个有数千个数字的数组? – FredericP
确实。我希望这可以运行在一个500k的元素阵列上,频率为60 Hz – Ian
我目前用for循环得到的频率约为25 Hz – Ian