zoukankan      html  css  js  c++  java
  • leetcode 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种情况。

    或者不排序,球最大的3个和最小的三个也可以

    class Solution {
    public:
        int maximumProduct(vector<int>& nums) {
            sort(nums.begin(),nums.end());
            int n = nums.size();
            vector<int> v;
            v.push_back(nums[n - 1] * nums[n - 2] * nums[n - 3]);
            //v.push_back(nums[0] * nums[1] * nums[2]);
            v.push_back(nums[n - 1] * nums[0] * nums[1]);
            v.push_back(nums[n - 1] * nums[n - 2] *nums[0]);
            int ans = INT_MIN;
            for (int x : v) {
                ans = max(ans,x);
            }
            return ans;
        }
    };
  • 相关阅读:
    继承 多态
    封装练习
    PHP 面向对象封装
    面向对象 类和对象
    PHP前端和数据库的连接
    数组2
    PHP数组
    正则表达式
    PHP字符串
    linux基础
  • 原文地址:https://www.cnblogs.com/pk28/p/7250949.html
Copyright © 2011-2022 走看看