构建乘积数组
来源:互联网 发布:淘宝的主营类目怎么改 编辑:程序博客网 时间:2024/06/06 20:40
题目描述
给定一个数组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]。不能使用除法。
算法:
新的数组内是原数组所有数的乘积,但是除了第i位。
设数组内有五个数,新建两个变量或者数组。
第一个不断向前迭代累乘n-1次:
1,a[0],a[0]a[1],a[0]a[1]a[2],a[0]a[1]a[2]a[3]
第二个不断向后迭代累乘n-1次:
1,a[4],a[4]a[3],a[4]a[3]a[2],a[4]a[3]a[2]a[1]
class Solution {public: vector<int> multiply(const vector<int>& A) { vector<int> b; if(A.size() == 0) return b; b.resize(A.size()); int end = A.size() - 1; int tmp = 1; //第一次前向累乘 b[0] = 1; for(int i =0;i<A.size()-1;i++) { tmp *= A[i]; b[i+1] = tmp; } //第二次后向累乘 tmp = 1; for (int i = end; i > 0; i--) { tmp *= A[i]; b[i-1] *= tmp; } return b; }};
0 0
- 数组------构建乘积数组
- 数组:构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 52 - 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 牛客网 | 构建乘积数组
- 构建乘积数组
- 【模模糊糊】构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组 java
- NOI2016.7.12模拟赛总结
- 加载.so库时UnsatisfiedLinkError异常的一个原因
- Flume
- 自我介绍
- java之多态
- 构建乘积数组
- 排序 纪中 1386 树状数组/玄学
- 经典排序算法1:插入排序
- Struts2配置环境
- scala 基本语法-4 ok
- 优雅编程之这样取名字,你就"正常"了!
- 广播接收者BroadcastReceiver
- Python 机器学习有关机器学习工具包(Numpy、Theano、Caffe等)安装汇总
- Android安全:dex2jar、jd-gui和AXMLPrinter2