特判0;
为了深入了解这些生物群体的生态特征,你们进行了大量的实地观察和数据采集。数组 arrayA
记录了各个生物群体数量数据,其中 arrayA[i]
表示第 i
个生物群体的数量。请返回一个数组 arrayB
,该数组为基于数组 arrayA
中的数据计算得出的结果,其中 arrayB[i]
表示将第 i
个生物群体的数量从总体中排除后的其他数量的乘积。
示例 1:
输入:arrayA = [2, 4, 6, 8, 10] 输出:[1920, 960, 640, 480, 384]
提示:
- 所有元素乘积之和不会溢出 32 位整数
arrayA.length <= 100000
class Solution {
public:
vector<int> statisticalResult(vector<int>& arrayA) {
int len=arrayA.size();
int sum=1;
vector<int> v(len);
int num=0; int id=0;
for(int i=0;i<len;i++){
if(arrayA[i]!=0)sum*=arrayA[i];
else{
num++;
id=i;
}
}
if(num>1) return v;
if(num==1){
v[id]=sum;
return v;
}
for(int i=0;i<len;i++){
v[i]=sum/arrayA[i];
}
return v;
}
};