劍指Offer(Python多種思路實現):構建乘積數組

劍指Offer(Python多種思路實現):構建乘積數組

面試66題:

題目:構建乘積數組

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

解題思路:

class Solution:
    def multiply(self, A):
        # write code here
        n=len(A)
        C=[1]*len(A)
        D=[1]*len(A)
        B=[1]*len(A)
        for i in range(1,n):
            C[i]=C[i-1]*A[i-1]
        for j in (range(0,n-1))[::-1]:
            D[j]=D[j+1]*A[j+1]
        
        for k in range(0,n):
            B[k]=C[k]*D[k]
        return B

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章