classSolution:defproductExceptSelf(self, nums: List[int])-> List[int]:
n =len(nums)
pre_arr =[1]* n
post_arr =[1]* n
ans =list()for i inrange(1, n):
pre_arr[i]= nums[i-1]* pre_arr[i-1]for i inrange(n-2,-1,-1):
post_arr[i]= nums[i+1]* post_arr[i+1]for i inrange(n):
ans.append(pre_arr[i]* post_arr[i])return ans
classSolution:defproductExceptSelf(self, nums: List[int])-> List[int]:
n =len(nums)
a_array =[1]* n
tmp =1for i inrange(1, n):
a_array[i]= a_array[i-1]* nums[i-1]for i inrange(n-1,-1,-1):
a_array[i]*= tmp
tmp *= nums[i]return a_array
Java
classSolution{publicint[]productExceptSelf(int[] nums){int[] down =newint[nums.length];int[] up =newint[nums.length];int[] res =newint[nums.length];
down[0]=1;
up[nums.length -1]=1;for(int i =1; i < nums.length;++i){
down[i]= nums[i -1]* down[i -1];}for(int i = nums.length -2; i >=0;--i){
up[i]= nums[i +1]* up[i +1];}for(int i =0; i < nums.length;++i){
res[i]= down[i]* up[i];}return res;}}