打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
剑指offer 50 构建乘积数组

题目描述

给定一个数组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]。不能使用除法。

//B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]//从左到右算 B[i]=A[0]*A[1]*...*A[i-1]//从右到左算B[i]*=A[i+1]*...*A[n-1]class Solution {public:    vector<int> multiply(const vector<int>& A) {    	int n=A.size();                vector<int> b(n);        int ret=1;                for(int i=0;i<n;ret*=A[i++]){            b[i]=ret;        }        ret=1;        for(int i=n-1;i>=0;ret*=A[i--]){            b[i]*=ret;        }                return b;    }};
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
LeetCode66:加一
冲刺NOIp2016算法模板(C++)
​LeetCode刷题实战238:除自身以外数组的乘积
C/C 如何解决大数组问题?
P6198 、Can You Help ZSGW(洛谷月赛和武大校赛初赛题)
用 STL vector 来创建二维数组
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服