zoukankan      html  css  js  c++  java
  • leetcode 628. 三个数的最大乘积

    628. 三个数的最大乘积

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

    解法:

    ​ 分析一下情况:

    ​ 如果都是负数,最大乘积是 最大的三个数的乘积

    ​ 如果都是正数,最大乘积也是最大的三个数的乘积

    ​ 如果负数和正数都有,可能最大的三个个数的乘积,也可能是最小的俩个负数和最大的正数乘积。

    所以排序后,使用 0 ,1 ,n-1 位置上的数乘积和 n-1,n-2,n-3位置的乘积比较

    public int maximumProduct(int[] nums) {
      int n=nums.length;
      Arrays.sort(nums);
      return Math.max(nums[0]*nums[1]*nums[n-1],nums[n-1]*nums[n-2]*nums[n-3]);
    }
    
  • 相关阅读:
    正则表达式
    文件读写
    列表和数组变量
    Perl基础
    [转] bias和variance
    Chapter 1
    Come back to CNblogs
    SentenceGeneration
    句子生成器
    ant相关操作
  • 原文地址:https://www.cnblogs.com/Lsummer-/p/14903622.html
Copyright © 2011-2022 走看看