feat: 2025-10-31打卡
This commit is contained in:
32
152.maximum-product-subarray.java
Normal file
32
152.maximum-product-subarray.java
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @lc app=leetcode id=152 lang=java
|
||||
*
|
||||
* [152] Maximum Product Subarray
|
||||
*/
|
||||
|
||||
// @lc code=start
|
||||
class Solution {
|
||||
public int maxProduct(int[] nums) {
|
||||
int min = 1, max = 1, r = nums[0], curMax, curMin;
|
||||
for(int i = 0; i< nums.length; i++) {
|
||||
if(nums[i] == 0) {
|
||||
max = min = 0;
|
||||
r = Math.max(r, 0);
|
||||
} else if(nums[i] > 0) {
|
||||
curMax = Math.max(nums[i], max*nums[i]);
|
||||
curMin = Math.min(nums[i], min*nums[i]);
|
||||
max = curMax;
|
||||
min = curMin;
|
||||
} else {
|
||||
curMax = Math.max(min * nums[i], nums[i]);
|
||||
curMin = Math.min(max*nums[i], nums[i]);
|
||||
max = curMax;
|
||||
min = curMin;
|
||||
}
|
||||
r = Math.max(max, r);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
}
|
||||
// @lc code=end
|
||||
|
||||
Reference in New Issue
Block a user