zoukankan      html  css  js  c++  java
  • 628. Maximum Product of Three Numbers

    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:

    1. The length of the given array will be in range [3,104] and all elements are in the range [-1000, 1000].
    2. Multiplication of any three numbers in the input won't exceed the range of 32-bit signed integer.

    解题思路:

      排序后两种情况,3个都是正数最大,2个是负数最小,一个是正数最大比大小。

      

    1. class Solution {  
    2. public:  
    3.     int maximumProduct(vector<int>& nums) {  
    4.           
    5.         if(nums.size()<3) return 0;  
    6.         if(nums.size()==3) return nums[0]*nums[1]*nums[2];  
    7.         int max_product=1;  
    8.         int max_neg=1;  
    9.         int n =nums.size();  
    10.         sort(nums.begin(),nums.end());  
    11.           
    12.         if(nums[n-3]>=0)  
    13.         max_product = nums[n-3]*nums[n-2]*nums[n-1];  
    14.           
    15.         if(nums[1]<=0)  
    16.             max_neg=nums[0]*nums[1]*nums[n-1];  
    17.           
    18.         return max_product>=max_neg?max_product:max_neg;  
    19.           
    20.           
    21.     }  
    22. };  
  • 相关阅读:
    TP框架 商城前台用户注册方法
    小知识
    TP框架中的一些登录代码分享
    js贪吃蛇小游戏
    关于jQ的小案例分享
    vb语法
    ruby file
    ruby的next if boolean
    ruby文件操作
    vue里面的this指向
  • 原文地址:https://www.cnblogs.com/liangyc/p/8847647.html
Copyright © 2011-2022 走看看