每次思考都是一次进步
1、以前做的暴力解,思路没什么好说的,有空再优化 。
class Solution {
public:
int maximumProduct(vector<int>& nums) {
return findmaxproduct(nums);
}
int findmaxproduct(vector<int>& nums)
{
int thesize=nums.size();
int max=-1000000000;
if(thesize>=6)
{
sort(nums.begin(),nums.end());
int temp[6];
for(int i=0;i<3;++i)
{
temp[i]=nums[i];
temp[i+3]=nums[thesize-1-i];
}
for(int i=0;i<4;++i)
for(int j=i+1;j<5;++j)
for(int k=j+1;k<6;++k)
if(temp[i]*temp[j]*temp[k]>max) max=temp[i]*temp[j]*temp[k];
}
else
{
for(int i=0;i<thesize-2;++i)
for(int j=i+1;j<thesize-1;++j)
for(int k=j+1;k<thesize;++k)
if(nums[i]*nums[j]*nums[k]>max) max=nums[i]*nums[j]*nums[k];
}
return max;
}
};