2024每日刷题(174)
Leetcode—152. 乘积最大子数组
C++实现代码
class Solution {
public:
int maxProduct(vector<int>& nums) {
int n = nums.size();
int mx = nums[0];
int mn = nums[0];
int ans = mx;
for(int i = 1; i < n; i++) {
const int premin = mn;
const int premax = mx;
int num = nums[i];
if(num < 0) {
mx = max(premin * num, num);
mn = min(premax * num, num);
} else {
mx = max(premax * num, num);
mn = min(premin * num, num);
}
ans = max(ans, mx);
}
return ans;
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!