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;
    }
}
相关推荐
阳洞洞31 分钟前
leetcode 92. Reverse Linked List II
leetcode·链表·list
IT古董32 分钟前
【漫话机器学习系列】269.K-Means聚类算法(K-Means Clustering)
算法·机器学习·kmeans
Darkwanderor1 小时前
贪心算法题目合集2
c++·算法·贪心算法
Tisfy1 小时前
LeetCode 3355.零数组变换 I:差分数组
算法·leetcode·题解·差分数组
刚入门的大一新生2 小时前
C++初阶-vector的模拟实现2
javascript·c++·算法
fouen4 小时前
贪心算法理论篇
数据结构·python·算法·贪心算法
祁同伟.4 小时前
【数据结构 · 初阶】- 快速排序
数据结构·算法·排序算法
小森77675 小时前
(八)深度学习---计算机视觉基础
人工智能·python·深度学习·算法·计算机视觉
eachin_z5 小时前
力扣刷题(第三十三天)
算法·leetcode·职场和发展
小雅痞5 小时前
[Java][Leetcode middle] 134. 加油站
java·leetcode