Product of Array Exclude Itself

Question

Given an integers array A.

Define B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], calculate B WITHOUT divide operation.

Example
For A=[1, 2, 3], return [6, 3, 2].
class Solution:
    """
    @param A: Given an integers array A
    @return: An integer array B and B[i]= A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1]
    """
    def productExcludeItself(self, A):
        # write your code here
        if A==None or len(A)<=1:
            B = [1]
            return B
        Alen = len(A)
        left = [1]*Alen
        right = [1]*Alen
        B = []
        for i in range(1,Alen):
            left[i] = left[i-1] * A[i-1]
        for i in range(Alen-2,-1,-1):
            right[i] = right[i+1] * A[i+1]
        for i in range(Alen):
            res = right[i] * left[i]
            B.append(res)
        return B 
sol = Solution()
A = [1, 2, 3]
sol.productExcludeItself(A)

results matching ""

    No results matching ""