leetcode152.乘积最大子数组

思路源自

【小白都能听懂的算法课】【力扣】【Leetcode152】乘积最大子数组|动态规划|数组

动态规划,每一步求出以当前数结尾的最大乘积和最小乘积(因为存在负数)

java 复制代码
class Solution {
    public int maxProduct(int[] nums) {
        int result=nums[0];
        int curMax = nums[0], curMin = nums[0];
        for (int i = 1; i < nums.length; i++) {
            int tempMax = curMax, tempMin = curMin;
            curMax = Math.max(Math.max(tempMax * nums[i], tempMin * nums[i]), nums[i]);
            curMin = Math.min(Math.min(tempMax * nums[i], tempMin * nums[i]), nums[i]);
            result = Math.max(result, curMax);
        }
        return result;
    }
}
相关推荐
2301_816651222 分钟前
C++中的策略模式高级应用
开发语言·c++·算法
LDR0063 分钟前
如何使用OpenClaw提高工作效率?
数据结构·算法
liuyao_xianhui3 分钟前
优选算法_模拟_替换所有的‘?‘_C++
开发语言·javascript·数据结构·c++·算法·链表·动态规划
币之互联万物9 分钟前
LLM 偏好算法解析:大语言模型内容收录倾向与 NEOXGEO 技术底蕴
人工智能·算法·语言模型
菜鸟小九12 分钟前
hot100(81-90)
java·数据结构·算法
炽烈小老头16 分钟前
【每天学习一点算法 2026/03/20】单词搜索
学习·算法
旖-旎25 分钟前
二分查找(山脉数组的峰顶索引)(5)
c++·算法·leetcode·二分查找·力扣·双指针
阿贵---28 分钟前
单元测试在C++项目中的实践
开发语言·c++·算法
进击的小头29 分钟前
第14篇:MPC控制案例——无人机高度控制
python·算法·无人机