【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
相关推荐
海绵宝宝转agent3 分钟前
2026-10-16 4算法+1面经
算法
小poop28 分钟前
基础排序算法详解——插入、选择与交换排序
算法·排序算法
青蓝智慧马老师31 分钟前
想学数据分析但零基础,正确顺序不是先学 Python
大数据·人工智能·算法
jeo陽1 小时前
05-数组与冒泡排序:第一个数据结构与经典算法
c语言·数据结构·算法
鸽鸽程序猿1 小时前
【刷题册】hot21-25
算法
Keven_111 小时前
算法札记:记忆化搜索中面对多组数据的初始化
算法
埃伊蟹黄面1 小时前
面试常问题目 —— STL
c++·面试·职场和发展·stl
happyprince1 小时前
02-具体观 · JevAny算法与实现剖析
人工智能·算法
Nil2081 小时前
leetcode 75颜色分类
数据结构·算法·leetcode
2501_933670791 小时前
2027校招定价分析面试准备:应用统计学、SQL与业务判断如何结合
面试·职场和发展