不用除法计算值
来源:互联网 发布:17岁可以开淘宝店吗 编辑:程序博客网 时间:2024/04/29 19:04
输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B=A*A*...*A[i-1]*A[i+1]*...*A.要求不得使用除法。这个题目很多微软和谷歌的面试官都很喜欢。听说最近腾讯招暑期实习生也采用了这一题
以下是作者何海涛的分析:
源代码
/************************************************************************//* 输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B=A*A*...*A[i-1]*A[i+1]*...*A.要求不得使用乘法。这个题目很多微软和谷歌的面试官都很喜欢。 *//************************************************************************/template<typename T>void multiply(const vector<T> array1, vector<T> &array2){if(array1.size() != array2.size() || array1.size() <= 1) return;const T *p1 = array1.data();T *p2 = array2.data();//array2中的值相当于C的值,从上往下计算的。*p2 = 1;for(int i = 1; i < array1.size(); ++i){p2[i] = p1[i - 1] * p1[i];}//temp的值就是D的值,是从下往上计算的int temp = 1;for(int i = array1.size() - 2; i >= 0; --i){temp = p1[i + 1];p2[i] *= temp;}}
- 不用除法计算值
- 如何不用除法计算A/3
- 不用‘/’ 实现除法运算
- 不用除法构造数组
- 不用除法运算
- 不用除法的算法题
- 不用'*','/','mod'进行除法运算
- bash脚本计算除法
- shell除法计算
- 大数计算_除法
- 高精度计算(六)除法
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用pow函数
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用构造函数
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用间接递归
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用多态性
- 计算分数的精确值-高精度除法
- 399. Evaluate Division(计算除法的值)
- 不用除法实现%13操作(位操作)
- swap耗尽导致hadoop进程被系统kill
- zxing barcode类库使用
- Failed to load the JNI shared library "/usr/local/jdk"
- css层显示1
- Sed&awk笔记之awk篇
- 不用除法计算值
- one-to-one 和 many-to-one unique区别
- VS2010出现FileTracker : error FTK1011
- memcached 之hashtable【转】
- java BitSet
- AndroidWebView总结
- tolua++使用
- perl子程序学习笔记
- 错误ORA-01438: 值大于为此列指定的允许精度 的原因