Given an integer array nums, find three numbers whose product is maximum and return the maximum product.
Example 1:
Input: nums = [1,2,3] Output: 6
Example 2:
Input: nums = [1,2,3,4] Output: 24
Example 3:
Input: nums = [-1,-2,-3] Output: -6
Constraints:
3 <= nums.length <= 104-1000 <= nums[i] <= 1000class Solution {
public int maximumProduct(int[] nums) {
Arrays.sort(nums);
int n = nums.length, ans = Integer.MIN_VALUE;
for (int i = n - 3; i <= n; i++)
ans = Math.max(ans, nums[i % n] * nums[(i + 1) % n] * nums[(i + 2) % n]);
return ans;
}
}