Problem: 238. 除自身以外数组的乘积
文章目录
- 思路 & 解题方法
- 复杂度
- Code
思路 & 解题方法
前缀和简单例题。
复杂度
时间复杂度:
添加时间复杂度, 示例:
空间复杂度:
添加空间复杂度, 示例:
Code
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
length = len(nums)
pre = [0] * length
rear = [0] * length
pre[0] = nums[0]
rear[-1] = nums[-1]
for i in range(1, length):
pre[i] = pre[i - 1] * nums[i]
for i in range(length - 2, -1, -1):
rear[i] = rear[i + 1] * nums[i]
ans = []
for i in range(length):
if i == 0:
ans.append(rear[1])
elif i == length - 1:
ans.append(pre[i - 1])
else:
ans.append(pre[i - 1] * rear[i + 1])
return ans