题目描述
给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。
python实现:
# -*- coding:utf-8 -*-
class Solution:
def multiply(self, A):
# write code here
n = len(A)
if n==0:
return []
b = [1]*n
tmpProd = 1
for i in range(1, n):
b[i] = A[i-1]*tmpProd
tmpProd = b[i]#tmpProd = A[i-1]*tmpProd
print b
tmpProd = 1
for i in range(n-2, -1, -1):
b[i] *= A[i+1]*tmpProd
tmpProd = A[i+1]*tmpProd
return b