238. 除自身以外数组的乘积
解法一:
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
n = len(nums)
#左右乘积,初始为1
left = [1 for _ in range(n)]
right = [1 for _ in range(n)]
#初始条件
left[1] = nums[0]
right[n-2] = nums[n-1]
#正向求左侧乘积,反向求右侧乘积
if n > 2:
for i in range(2, n):
left[i] = nums[i-1] * left[i-1]
for j in range(n-3, -1, -1):
right[j] = nums[j+1] * right[j+1]
return [left[i] * right[i] for i in range(n)]改进:
最后更新于