我有一個數組,我想從每個第四個元素(在這種情況下,每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