解法一
数据范围显示数组元素全是正数,所以直接找最大的两个数。
一开始记录了前两大数的下标,默认为0,从1开始比,没有考虑第0个数最大的情况,不够仔细。
class Solution {
public int maxProduct(int[] nums) {
int max1 = -1;
int max2 = -1;
for (int i = 0; i < nums.length; ++i) {
if (nums[i] > max1) {
max2 = max1;
max1 = nums[i];
} else if (nums[i] > max2) {
max2 = nums[i];
}
}
return ((max1 - 1) * (max2 - 1));
}
}