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