做题博客链接
https://blog.csdn.net/qq_43349112/article/details/108542248
题目链接
https://leetcode-cn.com/problems/maximum-product-of-three-numbers/
描述
给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
提示:
3 <= nums.length <= 104
-1000 <= nums[i] <= 1000
示例
示例 1:
输入:nums = [1,2,3]
输出:6
示例 2:
输入:nums = [1,2,3,4]
输出:24
示例 3:
输入:nums = [-1,-2,-3]
输出:-6
初始代码模板
class Solution {
public int maximumProduct(int[] nums) {
}
}
代码
class Solution {
public int maximumProduct(int[] nums) {
int a = Integer.MIN_VALUE;
int b = Integer.MIN_VALUE;
int c = Integer.MIN_VALUE;
int q = Integer.MAX_VALUE;
int w = Integer.MAX_VALUE;
for (int i = 0; i < nums.length; i++) {
int n = nums[i];
if (n >= a) {
c = b;
b = a;
a = n;
} else if (n >= b) {
c = b;
b = n;
} else if (n >= c) {
c = n;
}
if (n <= q) {
w = q;
q = n;
} else if (n <= w) {
w = n;
}
}
return Math.max(a * b * c, q * w * a);
}
}