Leetcode75-7 除自身以外数组的乘积

没做出来

本来的思路是遍历一遍得到所有乘积和然后除就行 但是题目不能用除法

答案的思路

cpp 复制代码
for(int i=0;i<n;++i)    //最终每个元素其左右乘积进行相乘得出结果
        {
            res[i]*=left;       //乘以其左边的乘积
            left*=nums[i];
            
            res[n-1-i]*=right;  //乘以其右边的乘积
            right*=nums[n-1-i];
        }

就是相当于每个元素都是左边元素乘积与右边元素乘积的和 也可以称为左前和右后的乘积

时间复杂度为n 空间复杂度1

相关推荐
啊哦呃咦唔鱼2 分钟前
LeetCode hot100-240搜索二维矩阵 II
算法
Q741_1473 分钟前
力扣高频面试题详解 数组 链表 力扣 56.合并区间 力扣 160.相交链表 C++ 每日练习
c++·算法·leetcode·链表·数组·哈希
2301_7938046911 分钟前
C++中的备忘录模式
开发语言·c++·算法
ab15151713 分钟前
3.23完成进阶45、84,二刷基础132、129
算法·深度优先·图论
CoovallyAIHub14 分钟前
编码智能体做 CV 任务,实际能力到哪一步了?——五项视觉任务实测解读
深度学习·算法·计算机视觉
2501_9454235416 分钟前
C++编译期多态实现
开发语言·c++·算法
2401_8796938716 分钟前
设计模式在C++中的实现
开发语言·c++·算法
☆56619 分钟前
C++中的代理模式高级应用
开发语言·c++·算法
2301_8184190121 分钟前
编译器命令选项优化
开发语言·c++·算法
m0_5180194821 分钟前
C++图形编程(OpenGL)
开发语言·c++·算法