【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
相关推荐
野犬寒鸦35 分钟前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
霖霖总总37 分钟前
[小技巧66]当自增主键耗尽:MySQL 主键溢出问题深度解析与雪花算法替代方案
mysql·算法
rainbow68891 小时前
深入解析C++STL:map与set底层奥秘
java·数据结构·算法
觉醒大王1 小时前
AI写的青基中了
人工智能·笔记·深度学习·学习·职场和发展·学习方法
wangjialelele1 小时前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
驱动探索者2 小时前
linux mailbox 学习
linux·学习·算法
ringking1232 小时前
autoware-1:安装环境cuda/cudnn/tensorRT库函数的判断
人工智能·算法·机器学习
程序员敲代码吗2 小时前
面试中sessionStorage问题引发深度探讨
面试·职场和发展
大闲在人2 小时前
8. 供应链与制造过程术语:产能
算法·制造·供应链管理·智能制造·工业工程
橘颂TA2 小时前
【测试】高效浏览器操作:基础功能与优化设置大全
c++·功能测试·职场和发展·测试·web测试