LeetCode——Maximum Product of Three Numbers
2017-09-17 11:16
519 查看
Question
Given an integer array, find three numbers whose product is maximum and output the maximum product.Example 1:
Input: [1,2,3] Output: 6
Example 2:
Input: [1,2,3,4] Output: 24
Note:
The length of the given array will be in range [3,104] and all elements are in the range [-1000, 1000].
Multiplication of any three numbers in the input won't exceed the range of 32-bit signed integer.
Solution
排序,要么最大的三个正数乘积最大,要么是两个最小的负数和最大的正数乘积最大。Code
class Solution { public: int maximumProduct(vector<int>& nums) { sort(nums.begin(), nums.end(), comp); return max(nums[0] * nums[1] * nums[2], nums[0] * nums[nums.size() - 1] * nums[nums.size() - 2]); } static bool comp(int& a, int& b) { return a > b; } };
相关文章推荐
- Leetcode之Maximum Product of Three Numbers 问题
- LeetCode刷题【Array】 Maximum Product of Three Numbers
- Leetcode 628 Maximum Product of Three Numbers
- leetcode 628 Maximum Product of Three Numbers
- leetcode 628:Maximum Product of Three Numbers
- [LeetCode] Maximum Product of Three Numbers 三个数字的最大乘积
- [leetCode]Maximum Product of Three Numbers
- leetcode-628-Maximum Product of Three Numbers]
- LeetCode - 628 - Maximum Product of Three Numbers
- LeetCode 628 Maximum Product of Three Numbers
- leetcode[Maximum Product of Three Numbers]//待整理多种解法
- leetcode628: Maximum Product of Three Numbers
- LeetCode-628:Maximum Product of Three Numbers (数组三元素最大乘积)
- Maximum Product of Three Numbers
- MaximumProductofThreeNumbers
- Maximum Product of Three Numbers
- Maximum Product of Three Numbers问题解法
- LeetCode Maximum Product of Three Number s(java)
- 628-Maximum Product of Three Numbers
- 628 Maximum Product of Three Numbers