解法一:数学
按从小到大的顺序排列后,考虑正负性和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);}}
