• 一、数组---三个数的最大乘积


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

    示例 1:

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

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

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

     1 class Solution {
     2 public:
     3     //三个数的最大乘积只可能是【前面连续的三个最大数】或者【第一个正数和最后两个负数】两种情况之一
     4     int maximumProduct(vector<int>& nums) {
     5         sort(nums.begin(),nums.end());
     6         int len=nums.size();
     7         int front=nums[0]*nums[1]*nums[len-1];
     8         int behind = nums[len-1]*nums[len-2]*nums[len-3];
     9         if(nums[1]<0 && front>behind) return front;
    10         else return behind;
    11     }
    12 };
  • 相关阅读:
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    53.Maximum Subarray
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11015054.html
Copyright © 2020-2023  润新知