构建乘积数组

###题目

给定一个数组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]。不能使用除法。

解题思路

把A[i]暂时地置为1。

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding:utf-8 -*-
class Solution:
def multiply(self, A):
# 把A[i]暂时地置为1
r = []
B = 1
for i in range(0, len(A)):
tmp = A[i]
B = 1
for j in range(0, len(A)):
A[i] = 1
B = B * A[j]
r.append(B)
A[i] = tmp
return r