LeetCode 238. Product of Array Except Self in F#
URL
Product of Array Except Self - LeetCode
Code
let productExceptSelf (nums: int list) : int list =
let leftAcc =
nums
|> List.fold
(fun (acc, prev) num ->
let p = num * prev
p :: acc, p)
([ 1 ], 1)
|> fst
|> List.tail
|> List.rev
let rightAcc =
nums
|> List.rev
|> List.fold
(fun (acc, prev) num ->
let p = num * prev
p :: acc, p)
([ 1 ], 1)
|> fst
|> List.tail
List.zip leftAcc rightAcc |> List.map (fun (a, b) -> a * b)