题目
Given an integer array, find three numbers whose product is maximum and output the maximum product.
Example1:Input: [1,2,3]Output: 6
Example1:Input: [1,2,3,4]Output: 24
Note:
The length of the given array will be in range [3,$10^4$] and all elements are in the range [-1000, 1000].
Multiplication of any three numbers in the input won’t exceed the range of 32-bit signed integer.
分析
如果数组里面没有负整数,那最大的乘积就是三个最大的数字乘积,题目说明数组中的数字范围是[-1000, 1000],所以会有两种情况:
- 两个最小的负数一个最大的正数
- 三个最大的正数相乘
所以只需要定义5个变量用来存储两个最小的和三个最大的数字,遍历一遍数组获取5个变量的值,然后返回两种情况中值较大的那种。
代码
|
结果