描述 :
给你一个整数数组?nums
?,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。
测试用例的答案是一个?32-位?整数。
子数组?是数组的连续子序列。
题目 :
LeetCode 152.乘积最大子数组 :
分析 :
这里给个视频 :?LeetCode力扣 152. 乘积最大子数组 Maximum Product Subarray_哔哩哔哩_bilibili
解析 :
class Solution {
public int maxProduct(int[] nums) {
if(nums.length == 0 || nums == null){
return 0;
}
int max = nums[0];
int min = nums[0];
int res = nums[0];
for(int i = 1;i < nums.length;i++){
int temp = max;
max = Math.max(Math.max(max * nums[i],min * nums[i]), nums[i]);
min = Math.min(Math.min(min * nums[i],nums[i] * temp),nums[i]);
res = Math.max(res,max);
}
return res;
}
}
这期就到这里 , 下期见!