238. Product of Array Except Self

Posted bernieloveslife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了238. Product of Array Except Self相关的知识,希望对你有一定的参考价值。

Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].

Example:

Input: [1,2,3,4]
Output: [24,12,8,6]

Note: Please solve it without division and in O(n).

Follow up:
Could you solve it with constant space complexity? (The output array does not count as extra space for the purpose of space complexity analysis.)

class Solution:
    def productExceptSelf(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        res = [1 for i in range(len(nums))]
        for i in range(1,len(nums)): #from left to right
            res[i] = res[i-1]*nums[i-1]
        # print(res)
        right = 1
        for i in range(len(nums)-2,-1,-1): #from right to left
            right *= nums[i+1]
            res[i] = res[i]*right
        return res


以上是关于238. Product of Array Except Self的主要内容,如果未能解决你的问题,请参考以下文章

238. Product of Array Except Self

LeetCode OJ 238. Product of Array Except Self 解题报告

238. Product of Array Except Self

238. Product of Array Except Self

238. Product of Array Except Self

238. Product of Array Except Self