class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
int n=nums.size();
int fromBegin=1;
int fromLast=1;
vector<int> res(n,1);
for(int i=0;i<n;i++){
res[i]*=fromBegin;
fromBegin*=nums[i];
res[n-1-i]*=fromLast;
fromLast*=nums[n-1-i];
}
return res;
}
};
/*class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
long long product=1;
int cnt0=0;
for(auto num : nums)
{
if(num==0)
cnt0++;
else
product*=num;
}
vector<int> result;
if(cnt0>=2)
for(int i=0;i<nums.size();i++)
result.push_back(0);
else if(cnt0==1)
{
for(auto num : nums)
{
if(num!=0)
result.push_back(0);
else
result.push_back(product);
}
}
else
for(auto num : nums)
result.push_back(product/num);
return result;
}
};*/
238. Product of Array Except Self
最新推荐文章于 2021-02-07 14:54:46 发布