628. 三个数的最大乘积
给你一个整型数组 nums
,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
示例 1:
输入:nums = [1,2,3]
输出:6
</pre>
示例 2:
输入:nums = [1,2,3,4]
输出:24
</pre>
示例 3:
输入:nums = [-1,-2,-3]
输出:-6
</pre>
提示:
3 <= nums.length <= 10<sup>4</sup>
-1000 <= nums[i] <= 1000
只有全正,或者两负一正是最大, 全负取绝对值最小, 两正一负无需考虑
class Solution {
public:
int maximumProduct(vector<int>& nums) {
sort(nums.begin(), nums.end());
int len = nums.size();
return max(nums[len-1] * nums[len-2] * nums[len-3], nums[0] * nums[1] * nums[len-1]);
}
};