问题
给定一个整数数组A,定义B[i]为剔除A[i]元素之后所有数组元素之积,输出数组B
答案
答案一
def function(A):
B = []
for i in range(len(A)):
num = 1
for j in range(i):
num *= A[j]
for n in range(i+1, len(A)):
num *= A[n]
B.append(num)
print(B)
A = [1,2,3]
function(A)
答案二
def productExcludeItself(A):
length, B = len(A), []
f = [0 for i in range(length + 1)]
f[length] = 1
for i in range(length-1, 0, -1):
f[i] = f[i+1] * A[i]
temp = 1
for i in range(length):
B.append(temp * f[i+1])
temp *= A[i]
return B
A = [1,2,3]
print(productExcludeItself(A))