本文共 384 字,大约阅读时间需要 1 分钟。
题目 求出三个数乘积最大的值。
思路:最大值对应的三个都是正数或者两个数是负数一个数是正数,将所有数据从小到大进行排序,比较最后三个数的乘积和最前面两个数的乘积*最后一个数的值的大小即可。
代码
class Solution {public: int maximumProduct(vector & nums) { sort(nums.begin(),nums.end()); int temp = nums[0]*nums[1]*nums[nums.size()-1]; int temp1 = nums[nums.size()-1]*nums[nums.size()-2]*nums[nums.size()-3]; return temp>temp1?temp:temp1; }};
转载地址:http://ejrai.baihongyu.com/