面试题52 构建乘积数组
2016-04-07 17:29
429 查看
题目描述
给定一个数组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]。不能使用除法。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; } };
相关文章推荐
- 面试题51 数组中重复的数字
- Android面试常问的技术问题
- LeetCodet题解--17. Letter Combinations of a Phone Number(所有数字键盘组合所对应的所有字符集合)
- 【面试/笔试】—— 数学
- php高级研发或架构师必了解---面试题系列
- 前端开发面试题--html
- 实用的SQL语句大全,面试或者工作都会用得着
- 数据库语言面试题
- 每个程序员都必读的11篇文章
- iOS,面试必看,最全梳理
- 最近遇到的比较重要的,面试可能会用到的知识
- 面试题49 把字符串转换成整数
- 数据库面试题
- 面试题76:单链表的归并排序
- 【程序猿人生】关爱程序猿 从此刻开始!
- 面试题48 不能被继承的类
- 用户空间驱动
- 一个程序员的时间管理
- 经典面试题
- java工程师常见面试题