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

相关推荐
林森lsjs9 分钟前
零基础吃透二叉树:定义、遍历与高频算法 —数据结构柒
java·开发语言·数据结构·算法·二叉树
船厂电气自动化ai大模型11 分钟前
AI大模型与数学·第56课 快速傅里叶变换FFT:DFT高效优化算法,图像、音频、扩散模型工程加速核心工具
数据结构·人工智能·深度学习·算法·机器学习
203号居民12 分钟前
【无标题】LeetCode hot 100 —54. 螺旋矩阵
算法
ai产品老杨21 分钟前
越界检测算法接入 AI 视频分析平台的流程与误报优化指南
人工智能·算法·音视频
bluesky96122222 分钟前
malloc 和 realloc C/C++
c语言·c++·算法
M78佐菲1 小时前
Linux学习笔记:进程回收、exec函数簇与线程
linux·笔记·学习·算法
linux-hzh1 小时前
百日算法修炼 · Day 18
算法
用户813267933251 小时前
Python 计算盘中 VWAP:为什么 1 分钟 K 线是量化工程中的高性价比选择
后端·算法·github
高频因子挖掘机1 小时前
Python批量获取1000只ETF 5分钟K线:从分页到吞吐量优化的QuantDash实践
后端·算法·github
额额额对了1 小时前
Linux C 多线程编程基础:从内存模型到生命周期管理
linux·开发语言·算法