首页 > 编程语言 > 详细

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

时间:2016-02-16 01:15:47      阅读:947      评论:0      收藏:0      [点我收藏+]

题目:

 好长,大意是返回一个列表,列表中第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版)

原文:http://wdswds.blog.51cto.com/11139828/1742344

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!