剑指offer-构建乘积数组

来源:互联网 发布:怎么删掉淘宝里的评价 编辑:程序博客网 时间:2024/06/05 10:30

题目:

给定一个数组A[0,1,2...n-1],请构建一个数组B[0,1,2...n-1],其中B中的元素B[I]=A[0]*A[1]**A[I-1]*A[I+1]***A[n-1]。不能使用除法。


void multiply(const vector <double>&array1, vector <double>&array2){int length1 = array1.size();int length2 = array2.size();for (length1 == length2&&length2>1){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;}}}


原创粉丝点击