构建乘积数组
给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。
思路:leetcode原题。先从左往右,t[i]=t[0]*……t[i-1];然后从右往左,r[i]=t[i]*r[i+1]*……*r[n-1]
1 class Solution { 2 public: 3 vector<int> multiply(const vector<int>& A) { 4 int n=A.size(); 5 vector<int> tmp(n,0); 6 vector<int> res(n,0); 7 int left=1,right=1; 8 9 if(n<1) return res; 10 for(int i=0;i<n;i++){ 11 tmp[i]=left; 12 left*=A[i]; 13 } 14 for(int i=n-1;i>=0;i--){ 15 res[i]=right*tmp[i]; 16 right*=A[i]; 17 } 18 return res; 19 } 20 };
联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了