题目描述
给定一个数组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=[1,2,3,4,5] | B=[120,60,40,30,24] |
解题思路
通过下面,找出规律
B[0]=A[1]
∗
*
∗A[2]
∗
*
∗A[3]
∗
*
∗A[4]
B[1]=A[0]
∗
*
∗A[2]
∗
*
∗A[3]
∗
*
∗A[4]
B[2]=A[0]
∗
*
∗A[1]
∗
*
∗A[3]
∗
*
∗A[4]
B[3]=A[0]
∗
*
∗A[1]
∗
*
∗A[2]
∗
*
∗A[4]
B[4]=A[0]
∗
*
∗A[1]
∗
*
∗A[2]
∗
*
∗A[3]
python 代码
# -*- coding:utf-8 -*-
class Solution:
def multiply(self, A):
# write code here
res = []
for i in range(0,len(A)):
a = 1
for j in A[:i]+A[i+1:]:
a *= j
res.append(a)
return res
s = Solution()
result = s.combinationSum([2,3,6,7],7)
print(result)