1. 程式人生 > >Leetcode628.Maximum Product of Three Numbers三個數的最大乘積

Leetcode628.Maximum Product of Three Numbers三個數的最大乘積

給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。

示例 1:

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

示例 2:

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

注意:

  1. 給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[-1000, 1000]。
  2. 輸入的陣列中任意三個數的乘積不會超出32位有符號整數的範圍。

 

 

bool cmp(int x, int y)
{
	return x > y;
}

class Solution {
public:
	int maximumProduct(vector<int>& nums) {
		int len = nums.size();
		sort(nums.begin(), nums.end(), cmp);
		return max(nums[0] * nums[1] * nums[2], nums[0] * nums[len - 1] * nums[len - 2]);
	}
};