时间限制:1秒
空间限制:32768K
热度指数:55470
算法知识视频讲解
题目描述
给定一个数组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]。不能使用除法。
c++实现:
class Solution {
public:
vector<int> multiply(const vector<int>& A) {
int t = A.size(), x = 0, y = 0;
vector <int> b;
for(int i = 0; i < t; i ++)
{
int y = 1;
for(int j = 0; j < t; j ++)
{
if(i == j)
{
x = 1;
}
else
{
x = A[j];
}
y = y * x;
}
b.push_back(y);
}
return b;
}
};
python实现:
# -*- coding:utf-8 -*-
class Solution:
def multiply(self, A):
# write code here
b = [];
for i in range(0, len(A)):
y = 1
for j in range(0, len(A)):
if i == j:
x = 1;
else:
x = A[j]
y = x * y
b.append(y)
return b