题目链接:https://leetcode.cn/problems/product-of-array-except-self/
难度:中等
描述:
给你一个整数数组 nums,返回 数组 _answer_ ,其中 _answer[i]_ 等于 _nums_ 中除 _nums[i]_ 之外其余各元素的乘积 。
题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。
请不要使用除法,且在 O(n) 时间复杂度内完成此题。
题解
class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:n = len(nums)ret = [1] * n# r[i] = product(r[:i]) + product(r[i+1:])k = 1for i in range(n):ret[i] *= kk *= nums[i]k = 1for i in range(n-1, -1, -1):ret[i] *= kk *= nums[i]return ret
