每次思考都是一次进步
1、可以理解为求数组nums中最大数和第二大数,因为nums[i]越大,则nums[i]-1越大,因此两数乘积也越大。用一个for去遍历数组,便可以得到最大和第二大的值。
class Solution {
public:
int maxProduct(vector<int>& nums) {
int thesize=nums.size();
int max1=0,max2=0;
for(int i=0;i<thesize;++i)
{
if(nums[i]>max1)
{
max2=max1;
max1=nums[i];
}
else if(nums[i]>max2)
{
max2=nums[i];
}
}
return (max1-1)*(max2-1);
}
};