How to multiply every N consecutive items in an array with Swift

1 Answer

0 votes
import Foundation  

func productsNConsecutiveItems(arr: [Int], n: Int) -> [Int] {
    guard n > 0, arr.count >= n else { return [] }

    let outSize = arr.count - n + 1
    var result: [Int] = []
    result.reserveCapacity(outSize)

    for i in 0..<outSize {
        let prod = arr[i..<i + n].reduce(1, *)
        result.append(prod)
    }

    return result
}

let arr = [2, 3, 4, 5, 6, 7, 8, 9, 10]
let n = 3

print(productsNConsecutiveItems(arr: arr, n: n))



/*
run:

[24, 60, 120, 210, 336, 504, 720]

*/

 



answered Feb 2 by avibootz

Related questions

...