乘积最大子数组(Java)

    技术2023-08-30  75

    package leetCoder; /** * @author : zhaoliang * @program :newCoder * @description : 乘积最大子数组 * @create : 2020/07/03 14:58 */ public class LeetCode152 { //给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 public int maxProduct(int[] nums){ int max = Integer.MIN_VALUE,imax = 1,imin = 1; for (int i = 0; i <nums.length ; i++) { if (nums[i] < 0){ int temp = imax; imax = imin; imin = temp; } imax = Math.max(imax*nums[i],nums[i]); imin = Math.min(imin*nums[i],nums[i]); max = Math.max(imax,max); } return max; } }
    Processed: 0.010, SQL: 9