给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 复制代码
示例:
输入: [1,2,3] 输出: 6 输入: [1,2,3,4] 输出: 24 复制代码
思考:
最大乘积的三个数可能有两种情况: 1.最大的三个正数相乘。 2.最小两个负数相乘再乘上最大的整数。 所以先将数组排序,然后按以上条件取两种情况之中较大的数。 复制代码
实现:
class Solution { public int maximumProduct(int[] nums) { Arrays.sort(nums); return Math.max(nums[0] * nums[1] * nums[nums.length - 1], nums[nums.length - 1] * nums[nums.length - 2] * nums[nums.length - 3]); } }复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 力扣152——乘积最大子序列
- 蓝桥杯 ADV-189 算法提高 连接乘积
- Leetcode日记_01,乘积最大子序列
- 算法 - 找出数组中子集乘积的最大值
- 蓝桥杯 ADV-13 算法提高 最小乘积(提高型)
- swoole之协程channel元素个数
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux 系统编程(第二版)
Robert Love / 东南大学出版社 / 2014-1-1 / 78
如何编写那些直接依赖于Linux内核和核心系统库提供的服务的软件?通过《Linux系统编程(第2版)(影印版)》,Linux内核参与者RobertLove(洛夫)为你提供了Linux系统编程方面的教程,Linux系统调用的参考手册,以及对于如何编写更聪明和更快的代码的来自内部人士的建议。Love清晰地指出了POSIX标准函数和Linux特别提供服务之间的差异。通过关于多线程的新章节,这本修订和扩展......一起来看看 《Linux 系统编程(第二版)》 这本书的介绍吧!