剑指Offer——构建数组B[i]=A[0]*A[1]*....A[i-1]*A[i+1]*A[i+2]*...A[n-1],不能使用除法
2016-04-08 21:55
555 查看
主要思路:
定义C[i] = A[0]*A[1]*....A[i-1],自上而下求C[i] , C[i] = C[i-1] *A[i-1]
定义D[i] = A[i+1]*A[i+2]*...A[n-1] ,自下而上求D[i], D[i] = D[i+1] *A[i+1]
定义C[i] = A[0]*A[1]*....A[i-1],自上而下求C[i] , C[i] = C[i-1] *A[i-1]
定义D[i] = A[i+1]*A[i+2]*...A[n-1] ,自下而上求D[i], D[i] = D[i+1] *A[i+1]
void multiply (const vector<double>& array1, vector<double> & array2) { int length1 = array1.size(); int length2 = array2.size(); if(length1 == length2 && length2 < 2) { array2[0] =1; for(int i = 1; i< length1; ++i) { array2[i] = array2[i-1] * array1[i-1]; } double temp = 1; for(int i = length1-2; i >= 0; --i) { temp *= array1[i+1]; array2[i] *= temp; } } }
相关文章推荐
- 使用js正则表达式分割内容分别显示
- 剑指Offer--003--二维数组中的查找
- JS代码试例
- js 将json字符串转为js对象
- JS动态创建HTML标签
- js中replace方法的问题
- HTML5 DOM File API 转)
- xhr跨域访问servlet
- 【USACO题库】2.4.2 Overfencing穿越栅栏
- Ajax-入门
- 【bzoj1031】[JSOI2007]字符加密Cipher
- jquery.validate全攻略
- jquery-问题解答
- 基础DOM和CSS操作
- js对象
- jQuery的datagrid转换文字
- [问题记录] curl: (18) transfer closed with outstanding read data remaining 原因分析
- js jQuery 相关
- js日期格式化
- 【JQuery】cookie插件——cookie