(LeetCode每日一刷34) 628. 三个数的最大乘积

题目描述:

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

示例:

示例 1:

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

示例 2:

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

注意:

  1. 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。
  2. 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。

我提交的代码:

class Solution {
public:
    int maximumProduct(vector<int>& nums) {
        sort(nums.begin(),nums.end());
        int max1 = 0;
        int max2 = 0;
        int size = nums.size();
        if(size == 3)
        {
            return nums[0] * nums[1] * nums[2];
        }
       

        max1 = nums[0] * nums[1] * nums[size - 1];
        max2 = nums[size - 1] * nums[size - 2] * nums[size - 3];
        
        if(max1 > max2){
            return max1;
        }
        else{
            return max2;
        }
    }
};

猜你喜欢

转载自blog.csdn.net/songsong2017/article/details/84674075