【LeetCode热题100(84/100)】乘积最大子数组

题目地址: 链接

思路: dp

ts 复制代码
/*
 * @lc app=leetcode.cn id=152 lang=typescript
 *
 * [152] 乘积最大子数组
 */

// @lc code=start
function maxProduct(nums: number[]): number {
    const n = nums.length;
    const dp = Array.from({length: n + 1}, () => new Array(2).fill(0));
    if(n == 1) return nums[0];
    
    let ans = 0;
    for(let i = 0; i < n; i ++) {
        const num = nums[i];
        dp[i + 1][0] = Math.min(num, num * dp[i][1], num * dp[i][0]);
        dp[i + 1][1] = Math.max(num, num * dp[i][1], num * dp[i][0]);
        ans = Math.max(dp[i + 1][1], ans);
    }
    return ans;
};
// @lc code=end
相关推荐
血小板要健康25 分钟前
队列 + 宽搜(BFS):二叉树层序遍历 算法总结
java·数据结构·笔记·算法·leetcode·宽度优先
Felven30 分钟前
A. Riptide
算法·c 算法
m0_7393128738 分钟前
四元数、李群SO(3)/李代数so(3)的作用及应用场景
算法·机器人·自动驾驶
artificiali1 小时前
880 第4章多元
人工智能·算法
Felven1 小时前
B. Deja Vu
数据结构·算法
小玮看世界2 小时前
[Python]螺旋遍历 vs 最短路径:方向控制类算法的“同源异流”
开发语言·python·算法
月华路2 小时前
《模型不玄学》第14章 标签、损失与样本权重
人工智能·算法·机器学习
黄金龙PLUS2 小时前
SPARKLE置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
不会就选b2 小时前
算法日常・每日刷题--<贪心>3
数据结构·算法·leetcode
学习星球2 小时前
编辑距离——二维 DP 的“最小操作“艺术
c++·leetcode·java-consul