首页 >> 大全

LeetCode刷题MEDIM篇Product of Array Except

2023-12-13 大全 21 作者:考证青年

题目

Given an > 1, an [i]is equal to the of all the [i].

:

Input:  [1,2,3,4]
Output: [24,12,8,6]

Note: solve in O(n).

up:

Could you solve it with space ? (The as extra space for the of space .)

十分钟尝试

本来第一反应,当前元素输出值应该是全部的除以当前元素,以为很完美可以处理,写完发现,忽略了一个0,如果有0我的代码不行,为了排除0,写了分支条件,还是不行。

_刷题软件_刷题软件app免费

class Solution {public int[] productExceptSelf(int[] nums) {int[] output=new int[nums.length];int allProduct=1;int allProductExceptZero=1;//如果有0不对for(int i=0;i

正确解法

举例1 2 3 0 4,如果选择3,那么其实结果是左侧乘积*右侧乘积。所以第一层循环,计算截止到某个元素的累计乘积结果,右侧,再一次循环,最后一个元素就是1,第二个就是nums[j],第三个right*=nums[j],利用right表示右侧的累计乘积结果。所以代码如下:

class Solution {public int[] productExceptSelf(int[] nums) {int[] res=new int[nums.length];res[0]=1;for(int i=1;i=0;j--){res[j]*=right;right*=nums[j];}return res;}
}

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了