leetcode 238. Product of Array Except Self (Python版)

Posted

tags:

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

题目:

 好长,大意是返回一个列表,列表中第i个元素为nums中出了i以外元素的乘积

 注意不能用除法,时间复杂度为O(n) 空间复杂度为O(1)


解题思路:

 利用返回的列表从前往后算一遍,再从后往前算一次即可


代码:

class Solution(object):
    def productExceptSelf(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        result = [1]

        for i in range(1,len(nums)):
            result.append(result[i-1] * nums[i-1])

        product = 1
        for i in range(len(nums)-1,-1,-1):
            result[i] = product * result[i]
            product *= nums[i]

        return result


本文出自 “温温” 博客,请务必保留此出处http://wdswds.blog.51cto.com/11139828/1742344

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

Leetcode 238. Product of Array Except Self

[LeetCode] 238. Product of Array Except Self

238. [LeetCode] Product of Array Except Self

[LeetCode 238]Product of Array Except Self

[Leetcode]238. Product of Array Except Self

leetcode 238. Product of Array Except Self (Python版)