LeetCode-Day65(C++) 628. 三个数的最大乘积

628. 三个数的最大乘积

给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。

示例 1:

输入:nums = [1,2,3]
输出:6

示例 2:

输入:nums = [1,2,3,4]
输出:24

示例 3:

输入:nums = [-1,-2,-3]
输出:-6

提示:

  • 3 <= nums.length <= 104
  • -1000 <= nums[i] <= 1000

只有全正,或者两负一正是最大, 全负取绝对值最小, 两正一负无需考虑

class Solution {
public:
    int maximumProduct(vector& 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]);
    }
};

你可能感兴趣的:(LeetCode-Day65(C++) 628. 三个数的最大乘积)