【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
相关推荐
Yupureki2 小时前
《算法竞赛从入门到国奖》算法基础:入门篇-递归初阶
c语言·开发语言·数据结构·c++·算法·visual studio
2501_901147832 小时前
多头注意力机制(Multi-Head Attention)知识笔记(附面试核心考点)
笔记·面试·职场和发展
a3535413822 小时前
牛顿迭代法中的雅克比矩阵几何意义
线性代数·算法
Coder个人博客2 小时前
Linux6.19-ARM64 crypto NH-Poly1305 NEON子模块深入分析
linux·网络·算法·车载系统·系统架构·系统安全·鸿蒙系统
自然语2 小时前
三维场景管理类位姿抖动优化计划
人工智能·数码相机·算法
源代码•宸2 小时前
Leetcode—3314. 构造最小位运算数组 I【简单】
开发语言·后端·算法·leetcode·面试·golang·位运算
夏鹏今天学习了吗2 小时前
【LeetCode热题100(88/100)】最长回文子串
算法·leetcode·职场和发展
轻微的风格艾丝凡2 小时前
圆周率(π)2-10进制转换及随机性量化分析技术文档
人工智能·算法
夏鹏今天学习了吗2 小时前
【LeetCode热题100(87/100)】不同路径
算法·leetcode·职场和发展