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;
    }
}
相关推荐
CoderCodingNo13 分钟前
【GESP】C++三级真题 luogu-B4414 [GESP202509 三级] 日历制作
开发语言·c++·算法
Liangwei Lin21 分钟前
洛谷 P1955 [NOI2015] 程序自动分析
算法
zwjapple41 分钟前
全栈开发面试高频算法题
算法·面试·职场和发展
不穿格子的程序员43 分钟前
从零开始写算法——链表篇5:K个一组翻转链表 + 排序链表
算法·链表·分治
青鸟21844 分钟前
从资深开发到脱产管理的心态转变
后端·算法·程序员
晨曦夜月1 小时前
笔试强训day7
开发语言·c++·算法
iAkuya1 小时前
(leetcode)力扣100 14合并区间(差分/排序)
算法·leetcode·职场和发展
leiming61 小时前
C++ 02 函数模板案例
开发语言·c++·算法
自然常数e2 小时前
深入理解指针(6)
c语言·数据结构·算法·visual studio
Xの哲學2 小时前
Linux VxLAN深度解析: 从数据平面到内核实现的全面剖析
linux·服务器·算法·架构·边缘计算