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

    Problem:

    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.

    思路

    Solution (C++):

    int maximumProduct(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        int n = nums.size();
        if (n < 3)  return 0;
        if (nums[n-1] > 0) {
            int max_two = max(nums[n-2]*nums[n-3], nums[0]*nums[1]);
            return nums[n-1] * max_two;
        } else {
            return nums[n-1] * nums[n-2] * nums[n-3];
        }
        return 0;
    }
    

    性能

    Runtime: 96 ms  Memory Usage: 8.8 MB

    思路

    Solution (C++):

    
    

    性能

    Runtime: ms  Memory Usage: MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    Vue基础
    Document
    Document
    Document
    Document
    Document
    Document
    Document
    Document
    Document
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12717104.html
Copyright © 2011-2022 走看看