• [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.

    思路:乘积最大,则肯定是寻找三个绝对值最大的数相乘。所以先把数组排序,这样数值最大的数为最后三个。第一反应应该会认为

    数组末尾三个数乘积就是答案了。但是数组里可能还会有负数,如果数组最开头两个数是负数,且绝对值很大,则答案可能是头两个数

    和数组末尾的那个数相乘;

    1 class Solution {
    2     public int maximumProduct(int[] nums) {
    3         Arrays.sort(nums);
    4         int p = nums.length;
    5         int product1 = nums[p-1]*nums[p-2]*nums[p-3];
    6         int product2 = nums[p-1]*nums[0]*nums[1];
    7         return product1>product2?product1:product2;
    8     }
    9 }
  • 相关阅读:
    爬虫
    modelform
    验证码
    ajax
    ngnix和负载均衡
    django 补充和中间件
    django补充和form组件
    C常量与控制语句
    Web应用开发技术(3)-html
    Web应用开发技术(2)-html
  • 原文地址:https://www.cnblogs.com/David-Lin/p/7740054.html
Copyright © 2020-2023  润新知