628. Maximum Product of Three Numbers(三个数的最大乘积)
链接
https://leetcode-cn.com/problems/maximum-product-of-three-numbers/submissions
题目
给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
示例 1:
输入: [1,2,3]
输出: 6
示例 2:
输入: [1,2,3,4]
输出: 24
注意:
给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。
输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。
思路
简单题,分析一下思路,要求乘积的最大值,那么限定一下范围,只能是三个最大正数相乘,或者两个最小负数相乘再乘最大正数,负负得正。这里采用sort直接排序,偷了个懒,之后算出两种最大值比较输出即可。
代码
1 | public static int maximumProduct(int[] nums) { |