力扣-数组-238 除自身以外数组的乘积

思路

题目也提示了,记录前缀乘积和后缀乘积即可,主要是数组定义 p r e f i x [ i ] prefix[i] prefix[i]表示从 0 0 0到 i − 1 i-1 i−1的前缀乘积和,所以 p r e f i x [ i ] = n u m s [ i − 1 ] ∗ p r e f i x [ i − 1 ] prefix[i] = nums[i-1] * prefix[i-1] prefix[i]=nums[i−1]∗prefix[i−1],同理后缀乘积也需要定义好数组意义

代码

java 复制代码
class Solution {
    public int[] productExceptSelf(int[] nums) {
        int len = nums.length;
        int []answer = new int[len];
        int prefix[] = new int[len];// prefix[i] 表示 0- i - 1 相乘的前缀
        int post[] = new int[len];// post[i]  表示i+1 到 len - 1 相乘

        prefix[0] = 1;
        for(int i = 1; i < len; i++) prefix[i] = prefix[i-1] * nums[i-1];

        post[len-1] = 1;
        for(int i = len - 2; i >= 0; i--) post[i] = post[i+1] * nums[i+1];

        for(int i = 0; i < len; i++){
            answer[i] = prefix[i] * post[i];
        }

        return answer;
    }
}
相关推荐
vortex54 小时前
几种 dump hash 方式对比分析
算法·哈希算法
堕2745 小时前
java数据结构当中的《排序》(一 )
java·数据结构·排序算法
2302_813806225 小时前
【嵌入式修炼:数据结构篇】——数据结构总结
数据结构
Wei&Yan6 小时前
数据结构——顺序表(静/动态代码实现)
数据结构·c++·算法·visual studio code
团子的二进制世界6 小时前
G1垃圾收集器是如何工作的?
java·jvm·算法
吃杠碰小鸡6 小时前
高中数学-数列-导数证明
前端·数学·算法
故事不长丨6 小时前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
long3166 小时前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
近津薪荼6 小时前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
熊文豪6 小时前
探索CANN ops-nn:高性能哈希算子技术解读
算法·哈希算法·cann