public long maxStrength(int[] nums) {
        int n = nums.length;
        int[][] dp = new int[2][n];
        dp[0][0] = nums[0];
        dp[1][0] = nums[0];
        for (int i = 1; i < n; i++) {
            dp[0][i] = Math.max(Math.max(Math.max(dp[0][i - 1] * nums[i], dp[1][i - 1] * nums[i]), dp[0][i - 1]), nums[i]);
            dp[1][i] = Math.min(Math.min(Math.min(dp[0][i - 1] * nums[i], dp[1][i - 1] * nums[i]), dp[1][i - 1]), nums[i]);
        }
        return dp[0][n-1];
    }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.