解法一:数学
按从小到大的顺序排列后,考虑正负性和0,最大乘积只可能出现于两种组合中。
import java.util.Arrays;
class Solution {
public int maximumProduct(int[] nums) {
final int N = nums.length;
Arrays.sort(nums);
int a = nums[N - 1] * nums[N - 2] * nums[N - 3];
int b = nums[N - 1] * nums[0] * nums[1];
return Math.max(a, b);
}
}