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


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