剑指offer 51. 构建乘积数组

原题

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

Reference Answer

思路分析

没什么难度,直接上代码。

# -*- coding:utf-8 -*-
class Solution:
    def multiply(self, A):
        # write code here
        res = A[:]
        temp_prod = 1
        for index,count in enumerate(A):
            res[index] = self.product(A[:index] + A[index+1:])
        return res
    def product(self, A):
        temp_prod = 1
        for index,count in enumerate(A):
            temp_prod *= count
        return temp_prod

猜你喜欢

转载自blog.csdn.net/Dby_freedom/article/details/84452434