24 lines
325 B
Go
24 lines
325 B
Go
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
|