238. Product of Array Except Self
mediumArray · Prefix Sum
read the problem on leetcode →
first solved 15 Aug 2024 · 2 accepted submissions
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
# [x,y,z]
# [y*z,x*z, x*y]
ans=[1]*len(nums)
# forward pass
front=1
for i in range(len(nums)):
ans[i]=front
front*=nums[i]
# backward pass
back=1
for i in range(len(nums)-1, -1, -1):
ans[i]*=back
back*=nums[i]
return ans
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
result = [1] * len(nums)
prefix = 1
for i in range(len(nums)):
result[i] = prefix
prefix *= nums[i]
postfix = 1
for i in range(len(nums) - 1, -1, -1):
result[i] *= postfix
postfix *= nums[i]
return result