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 O(n).
For example, given [1,2,3,4], return [24,12,8,6].
Follow up:
Could you solve it with constant space complexity? (Note: The output array does not count as extra space for the purpose of space complexity analysis.)
class Solution { public int[] productExceptSelf(int[] nums) { int n = nums.length; int[] res = new int[n]; res[0] = 1; for (int i = 1; i < n; i++) res[i] = res[i-1]*nums[i-1]; int right = 1; for (int i = n-1; i >= 0; i--) { res[i] *= right; right *= nums[i]; } return res; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/65071.html
摘要:题目描述题目解析简单来说就是对于数组中每一项,求其他项之积。算一遍全部元素的积再分别除以每一项要仔细考虑元素为零的情况。没有零直接除下去。一个零零的位置对应值为其他元素之积,其他位置为零。两个以上的零全部都是零。 题目描述 Given an array of n integers where n > 1, nums, return an array output such that o...
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...
问题: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...
阅读 1873·2021-11-19 09:40
阅读 2115·2021-10-09 09:43
阅读 3212·2021-09-06 15:00
阅读 2798·2019-08-29 13:04
阅读 2753·2019-08-26 11:53
阅读 3468·2019-08-26 11:46
阅读 2307·2019-08-26 11:38
阅读 375·2019-08-26 11:27