Const
给你一个整数数组 nums,请你返回一个数组 answer,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。
nums
answer
answer[i]
nums[i]
题目要求时间复杂度为 O(n),且不能使用除法。
输入: nums = [1,2,3,4] 输出: [24,12,8,6]
nums = [1,2,3,4]
[24,12,8,6]
输入: nums = [-1,1,0,-3,3] 输出: [0,0,9,0,0]
nums = [-1,1,0,-3,3]
[0,0,9,0,0]
2 <= nums.length <= 10^5
-30 <= nums[i] <= 30
除自己以外找其他位置的加减乘除,想错位操作。每个位置正常累乘,但是我们想它其实是前一个位置的累乘,或者是后一个位置的累乘。这么一错位,我们就可以得到两个数组,一个数组是前一个位置的累乘,一个数组是后一个位置的累乘。然后我们把这两个数组对应位置相乘,就可以得到除自己以外其他位置的累乘。
238.除自身以外数组的乘积
给你一个整数数组
nums
,请你返回一个数组answer
,其中answer[i]
等于nums
中除nums[i]
之外其余各元素的乘积。题目要求时间复杂度为 O(n),且不能使用除法。
示例 1:
输入:
nums = [1,2,3,4]
输出:
[24,12,8,6]
示例 2:
输入:
nums = [-1,1,0,-3,3]
输出:
[0,0,9,0,0]
提示:
2 <= nums.length <= 10^5
-30 <= nums[i] <= 30