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

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]);
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。