var productExceptSelf = function(nums) {
product = 1
ans = new Array(nums.length)
for (let i = 0; i < nums.length; i++) {
ans[i] = product
product *= nums[i]
}
product = 1
for (let i = nums.length - 1; i >= 0; i--) {
ans[i] *= product
product *= nums[i]
}
return ans
};
func productExceptSelf(nums []int) []int {
ans := make([]int, len(nums))
product := 1
for i, v := range nums {
ans[i] = product
product *= v
}
product = 1
for i := len(nums) - 1; i >= 0; i-- {
ans[i] *= product
product *= nums[i]
}
return ans
}