赞
踩
238. 除自身以外数组的乘积 - 力扣(LeetCode)
- class Solution {
- /**
- 2024.6.17
- 思路还是比较巧妙,遍历元素2遍,从左往右,算每个元素左边的乘积,不断累乘,直接赋值;
- 再从右往左,右边元素乘积再乘以上一遍左边元素乘积,就得到结果了
- */
- public int[] productExceptSelf(int[] nums) {
- int[] res=new int[nums.length];
- int leftN=1;
- int rightN=1;
-
- for(int i=0;i<nums.length;i++){
- res[i]=leftN;
- // 从左往右,第一遍一直累乘
- leftN*=nums[i];
- }
-
- for(int i=nums.length-1;i>=0;i--){
- res[i]=res[i]*rightN;
- rightN*=nums[i];
- }
-
- return res;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。