摘要:题目描述题目解析简单来说就是对于数组中每一项,求其他项之积。算一遍全部元素的积再分别除以每一项要仔细考虑元素为零的情况。没有零直接除下去。一个零零的位置对应值为其他元素之积,其他位置为零。两个以上的零全部都是零。
题目描述
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].
Solve it without division and in O(n).
For example, given [1,2,3,4], return [24,12,8,6].
题目解析简单来说就是对于数组中每一项,求其他项之积。
解题思路 对于每一项硬算其他项之积恭喜你,你超时了。
算一遍全部元素的积再分别除以每一项要仔细考虑元素为零的情况。
没有零直接除下去。
一个零零的位置对应值为其他元素之积,其他位置为零。
两个以上的零全部都是零。
AC代码class Solution(object): def productExceptSelf(self, nums): """ :type nums: List[int] :rtype: List[int] """ try: from functools import reduce finally: pass res = [] zeros = nums.count(0) if zeros == 0: product = reduce(lambda x, y: x * y, nums) res = [product // x for x in nums] elif zeros == 1: now = nums[::] pos = now.index(0) del now[pos] product = reduce(lambda x, y: x * y, now) res = [0 if x != pos else product for x in range(len(nums))] else: res = [0] * len(nums) return res总结
遇事多思考,轻易不要循环。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/45506.html
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].Solve it without division and in O(n). For...
Problem Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i]. Solve it without division and in ...
问题:Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i]. Solve it without division and in O(n)....
Problem Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i]. Solve it without division and in ...
摘要:动态规划复杂度时间空间思路分析出自身以外数组乘积的性质,它实际上是自己左边左右数的乘积,乘上自己右边所有数的乘积。所以我们可以用一个数组来表示第个数字前面数的乘积,这样。同理,我们可以反向遍历一遍生成另一个数组。 Product of Array Except Self Given an array of n integers where n > 1, nums, return an...
阅读 821·2021-10-13 09:39
阅读 3700·2021-10-12 10:12
阅读 1750·2021-08-13 15:07
阅读 1011·2019-08-29 15:31
阅读 2885·2019-08-26 13:25
阅读 1780·2019-08-23 18:38
阅读 1884·2019-08-23 18:25
阅读 1861·2019-08-23 17:20