From d31b918c9606cb62576bd69b16105cc1398c4bd8 Mon Sep 17 00:00:00 2001 From: Gleb Koval Date: Fri, 5 Nov 2021 12:53:13 +0000 Subject: [PATCH] product-of-array-except-self --- product-of-array-except-self/sol.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 product-of-array-except-self/sol.go diff --git a/product-of-array-except-self/sol.go b/product-of-array-except-self/sol.go new file mode 100644 index 0000000..84ddff2 --- /dev/null +++ b/product-of-array-except-self/sol.go @@ -0,0 +1,18 @@ +package main + +// Time: O(n) +// Space: O(1) +func productExceptSelf(nums []int) []int { + l := len(nums) + answer := make([]int, l) + answer[0] = 1 + for idx := 1; idx < l; idx++ { + answer[idx] = answer[idx-1] * nums[idx-1] + } + m := 1 + for idx := l - 1; idx >= 0; idx-- { + answer[idx] *= m + m *= nums[idx] + } + return answer +}