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;
    }
}
相关推荐
Demons_kirit1 分钟前
Leetcode 2845 题解
算法·leetcode·职场和发展
adam_life31 分钟前
http://noi.openjudge.cn/——2.5基本算法之搜索——200:Solitaire
算法·宽搜·布局唯一码
我想进大厂1 小时前
图论---朴素Prim(稠密图)
数据结构·c++·算法·图论
我想进大厂1 小时前
图论---Bellman-Ford算法
数据结构·c++·算法·图论
AIGC大时代1 小时前
高效使用DeepSeek对“情境+ 对象 +问题“型课题进行开题!
数据库·人工智能·算法·aigc·智能写作·deepseek
lkbhua莱克瓦241 小时前
用C语言实现——一个中缀表达式的计算器。支持用户输入和动画演示过程。
c语言·开发语言·数据结构·链表·学习方法·交友·计算器
CODE_RabbitV2 小时前
【深度强化学习 DRL 快速实践】近端策略优化 (PPO)
算法
Wendy_robot3 小时前
【滑动窗口+哈希表/数组记录】Leetcode 438. 找到字符串中所有字母异位词
c++·算法·leetcode
程序员-King.3 小时前
day49—双指针+贪心—验证回文串(LeetCode-680)
算法·leetcode·贪心算法·双指针
转基因3 小时前
Codeforces Round 1020 (Div. 3)(题解ABCDEF)
数据结构·c++·算法