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