【发布时间】:2021-10-14 22:08:42
【问题描述】:
问题:给你一个包含“N”个整数的数组。您需要返回另一个数组“product”,使得“product[i]”包含所有数组的乘积,但给定数组中第 i 个位置的元素除外。
注意: 由于元素的乘积可能非常大,您需要在 mod (10^9+7) 中返回答案。
我的代码
vector < int > productPuzzle(vector < int > & arr, int n) {
vector<int> output;
int product = 1;
for(int i=0;i<n;i++){
product*=arr[i];
output.push_back(product);
}
product = 1;
for(int i=n-1;i>0;i--){
output[i] = output[i-1]*product;
product *= arr[i];
}
output[0] =product;
return output;
}
怀疑:我没有让所有的测试用例都通过。我认为问题在于处理大型产品。谁能帮助建议我应该进行哪些更改以通过所有测试用例?
【问题讨论】:
-
你能举一个你没有通过的测试用例的例子吗?
-
n= 18 数组元素:41 60 11 19 38 58 32 10 33 48 86 33 74 16 42 84 59 17
标签: c++ arrays algorithm data-structures dsa