给定一个数组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]。不能使用除法。

// test14.cpp : 定义控制台应用程序的入口点。
//

include "stdafx.h"

include

include

include

include

include

include <initializer_list>

using namespace std;

class Solution {
public:
vector multiply(const vector& A) {

vector B;
int mult=1;

for (size_t i = 0; i < A.size(); i++)
{
for (size_t j = 0; j < A.size(); j++)
{
if (i != j)
mult *= A[j];
}
B.push_back(mult);
mult = 1;
}
return B;
}
};

int main()
{

Solution so;
// vector A = { 1,2,3,4,5,6,7,8,9,10 };
vector A = { 0,1,1,1,1,1,1,1,1,1 };
auto B= so.multiply(A);
for (size_t i = 0; i < A.size(); i++)
cout << B[i] << " ";
cout << endl;
return 0;
}

posted @ 2016-10-08 15:02  wdan2016  阅读(1782)  评论(0)    收藏  举报