【leetcode hot 100 238】除自身以外数组的乘积

解法一:(左右乘积列表)利用索引左侧所有数字的乘积和右侧所有数字的乘积(即前缀与后缀)相乘得到答案。

java 复制代码
class Solution {
    public int[] productExceptSelf(int[] nums) {
        int len = nums.length;
        int[] L = new int[len]; // 存放i左边的乘积
        int[] R = new int[len]; // 存放i右边的乘积
        int[] result = new int[len]; 

        // 第1个元素左边没有数据,乘积为0
        L[0]=1;
        for(int i=1;i<len;i++){
            L[i]=L[i-1]*nums[i-1];
        }

        // 第len个元素右边没有数据,乘积为0
        R[len-1]=1;
        for(int i=len-2;i>=0;i--){
            R[i]=R[i+1]*nums[i+1];
        }

        // 计算
        for(int i=0;i<len;i++){
            result[i]=L[i]*R[i];
        }
        return result;
    }
}

注意:

  • 左乘积数组:第1个元素左边没有数据,乘积为0
  • 右乘积数组:第len个元素右边没有数据,乘积为0
相关推荐
IT方大同1 分钟前
C语言分支与循环语句
c语言·开发语言·算法
qq_150841996 分钟前
SQL的insert和update二合一指令
java·数据库·sql
2601_9647028910 分钟前
Claude Opus 5 API 开发实战:对话、文本生成与结构化输出
java·服务器·前端
Sayuanni%313 分钟前
Spring IOC
java·spring·rpc
风景的人生17 分钟前
流式输出与springboot中的响应式编程
java·spring boot·ai编程
长不胖的路人甲36 分钟前
斐波那契查找Java 实现 + 完整思路
java·开发语言
待磨的钝刨36 分钟前
深入理解主成分分析(PCA)
人工智能·线性代数·算法·机器学习
祐樹1 小时前
1987年5月25日下午15-17点出生性格、运势和命运
java
正儿八经的少年1 小时前
Spring 事务保证数据一致性
java·数据库·spring
Lakers-241 小时前
1987年5月29日晚上19-21点出生性格、运势和命运
java