题目
分析
不能使用除法,那么就构建两个数组
数组1 larr,第一位是1,其余位的数是A0A1…Ai-1
数组2 rarr,最后一位是1,其余位是Ai+1Ai+2*…*An-1
最后返回B,B的每一位是larr[i]*rarr[i]
python代码
class Solution:
def multiply(self, A):
# write code here
larr = []
for i in range(len(A)):
if i==0:
larr.append(1)
else:
larr.append(A[i-1]*larr[i-1])
rarr = []
for i in reversed(range(len(A))):
if i==len(A)-1:
rarr.append(1)
else:
rarr =[A[i+1]*rarr[0]] +rarr
B = []
for i in range(len(A)):
B.append(larr[i]*rarr[i])
return B