剑指 Offer 66. 构建乘积数组
和力扣238. 除自身以外数组的乘积相同
//时间On,空间O1func productExceptSelf(nums []int) []int {if len(nums) <= 1 {return nums}n := len(nums)res := make([]int, n)left, right := make([]int, n), make([]int, n)left[0], right[n - 1] = 1, 1for i := 1; i < n; i++ { //左边到i的数的数组left[i] = left[i-1] * nums[i-1]}for i := n - 2; i >= 0; i-- { //右边到i的数的数组right[i] = right[i+1] * nums[i+1]}for i := 0; i < n; i++ { //左右相乘,即为目标数组的值res[i] = left[i] * right[i]}return res}
