给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。
请你计算并返回该式的最大值。
时间复杂度O(N) 空间复杂度O(1)
class Solution {
public int maxProduct(int[] nums) {
//记录最大值
int m1 = 0;
//记录次大值
int m2 = 0;
for(int i = 0; i < nums.length; i++){
if(nums[i] > m1) {
m2 = m1;
m1 = nums[i];
}
else if(nums[i] <= m1 && m2 < nums[i]){
m2 = nums[i];
}
}
return (m1 - 1) * (m2 - 1);
}
}