Leetcode 238. 除自身以外数组的乘积

238. 除自身以外数组的乘积 - 力扣(LeetCode)

java 复制代码
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;
    }
}
相关推荐
青少儿编程课堂1 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
不会就选b1 小时前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
考研保研资料分享1 小时前
新闻传播保研经验:中传预推免面试、广告学代表作与实习准备(2025)
面试·职场和发展
没有钱的钱仔2 小时前
协方差矩阵含义
算法·机器学习·矩阵
垆边人似月.2 小时前
华为机试题 :和为 K 的子数组个数
算法·leetcode·华为
三*一3 小时前
优化修整算法
前端·javascript·算法
达子6663 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
夏幻灵3 小时前
每日一题:LeetCode 165:比较版本号
算法·leetcode·职场和发展
道尔柯南3 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法