【152.乘积最大子数组】

目录

一、题目描述

二、算法原理

三、代码实现

cpp 复制代码
class Solution {
public:
    int maxProduct(vector<int>& nums) 
    {
        int n=nums.size();
        vector<int> f(n);
        vector<int> g(n);
        f[0]=g[0]=nums[0];
        int ret=nums[0];
        for(int i=1;i<n;i++)
        {
            f[i]=max(max(nums[i],nums[i]*f[i-1]),nums[i]*g[i-1]);
            g[i]=min(min(nums[i],nums[i]*f[i-1]),nums[i]*g[i-1]);
            ret=max(max(f[i],g[i]),ret);
        }
        return ret;

    }
};
相关推荐
今天也好累3 小时前
C 语言基础第16天:指针补充
java·c语言·数据结构·笔记·学习·算法
大千AI助手4 小时前
直接偏好优化(DPO):原理、演进与大模型对齐新范式
人工智能·神经网络·算法·机器学习·dpo·大模型对齐·直接偏好优化
GG不是gg4 小时前
最长递增子序列(LIS)问题详解
动态规划
茴香豆的茴5 小时前
转码刷 LeetCode 笔记[1]:3.无重复字符的最长子串(python)
leetcode
徐小夕5 小时前
再也不怕看不懂 GitHub 代码!这款AI开源项目,一键生成交互架构图
前端·算法·github
SirLancelot16 小时前
数据结构-Set集合(一)Set集合介绍、优缺点
java·开发语言·数据结构·后端·算法·哈希算法·set
YouQian7726 小时前
label 拓扑排序
数据结构·算法
YouQian7726 小时前
(补题)小塔的饭
算法
歌者長門6 小时前
做题笔记:某大讯飞真题28道
java·数据结构·算法
是店小二呀7 小时前
【动态规划 | 多状态问题】动态规划求解多状态问题
算法·动态规划