1. 程式人生 > >劍指offer-構建乘積陣列

劍指offer-構建乘積陣列

題目描述

給定一個數組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]。不能使用除法。

思路:最簡單粗暴的方法,O(n2)複雜度

# -*- coding:utf-8 -*-
class Solution:
    def multiply(self, A):
        # write code here
        B=[]
        B=A[:]
        for j in range(len(A)):
            temp=1
            for i, val in enumerate(A):
                if i!=j:
                    temp=temp*val
            B[j]=temp
        return B

更優解法建矩陣,未完待續.......