1464. Maximum Product of Two Elements in an Array

1464. Maximum Product of Two Elements in an Array #

题目 #

  • 给定一个整数数组nums,选择数组的两个不同下表ij,使(nums[i]-1)*(nums[j]-1)取得最大值。
  • 计算并返回该式的最大值。
  • 2 <= nums.length <= 500
  • 1 <= nums[i] <= 10^3

思路 #

模拟 #

代码 #

模拟 #

class Solution {
    public int maxProduct(int[] nums) {
        int[] ans = new int[2];
        
        for (int num: nums) {
            if (ans[0] == 0) ans[0] = num;
            else {
                if (num >= ans[0]) {
                    ans[1] = ans[0];
                    ans[0] = num;
                }
                else if (num >= ans[1]) ans[1] = num;
            }
        }
        return (ans[0] - 1) * (ans[1] - 1);
    }
}

致谢 #

宫水三叶