力扣-数组-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;
    }
}
相关推荐
不吃香菜?2 小时前
逻辑回归在信用卡欺诈检测中的实战应用
算法·机器学习·逻辑回归
Kay_Liang3 小时前
探究排序算法的奥秘(下):快速排序、归并排序、堆排序
java·数据结构·c++·python·算法·排序算法
禺垣3 小时前
AdaBoost算法的原理及Python实现
人工智能·python·算法·机器学习·数据挖掘·adaboost·集成学习
qq_508576093 小时前
混淆矩阵(Confusion Matrix)横坐标
人工智能·算法·机器学习
LSQ的测试日记3 小时前
机器学习_KNN算法
人工智能·算法·机器学习
炬火初现3 小时前
[leetcode]2302.统计得分小于k的子数组
算法·leetcode·职场和发展
鱼嘻4 小时前
数据结构------C语言经典题目(6)
linux·c语言·开发语言·数据结构·算法
千谦阙听4 小时前
数据结构篇:线性表的另一表达—链表之单链表(下篇)
c语言·数据结构·链表·visual studio
Theodore_10225 小时前
Python3(19)数据结构
大数据·开发语言·数据结构·python·网络爬虫
fantasy_arch5 小时前
SVT-AV1源码分析-函数svt_aom_motion_estimation_kernel
人工智能·算法·av1