25 lines
427 B
Go
25 lines
427 B
Go
// Package q238 implements a solution for https://leetcode.com/problems/product-of-array-except-self/
|
|
package q238
|
|
|
|
func productExceptSelf(nums []int) []int {
|
|
ret := make([]int, len(nums))
|
|
|
|
// from left
|
|
t := 1
|
|
for i := range len(nums) - 1 {
|
|
t *= nums[i]
|
|
ret[i+1] = t
|
|
}
|
|
ret[0] = 1
|
|
|
|
// from right
|
|
t = 1
|
|
for i := len(nums) - 1; i > 0; i-- {
|
|
t *= nums[i]
|
|
ret[i-1] *= t
|
|
}
|
|
|
|
return ret
|
|
}
|
|
|
|
var _ = productExceptSelf
|