152. 乘积最大子数组


思路

maxs:记录当前位置最大乘积

mins:记录当前位置最小乘积,因为当前位置的最大乘积 有可能是i-1的最小乘积*当前位置

如i-1最小乘积为-3,最大乘积为4 i当前位置值为-2 则

dpi最大乘积自然是-3*(-2)=6

python 复制代码
class Solution(object):
    def maxProduct(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        if len(nums)==1:
            return nums[0]
        maxs =[0]*len(nums)
        mins =[0]*len(nums)
        dp =[0]*len(nums)
        maxs[0] ,mins[0],dp[0]= nums[0],nums[0],nums[0]
        for i in range(1,len(nums)):
            maxs[i]=max(maxs[i-1]*nums[i],mins[i-1]*nums[i],nums[i])
            mins[i]=min(maxs[i-1]*nums[i],mins[i-1]*nums[i],nums[i])
            dp[i]=maxs[i]

        return max(dp)
相关推荐
_Jimmy_2 分钟前
FastAPI + SQLAlchemy全局事务管理
python·fastapi
用户83562907805110 分钟前
如何使用 Python 在 Excel 中添加、编辑和删除超链接
后端·python
AC赳赳老秦2 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
FoldWinCard3 小时前
D6 Python 基础语法 --- 保留关键字
开发语言·python
暮暮祈安3 小时前
Celery 新手入门指南
java·数据库·python·flask·httpx
JustNow_Man3 小时前
每日高频场景英文口语
python
风吹心凉4 小时前
python3基础2026.7.22
开发语言·python
程序猿乐锅4 小时前
【数据结构与算法 | 第六篇】力扣1109,1094差分数组
java·算法·leetcode
小猴子爱上树5 小时前
一站式解决图片视频翻译难题的高效AI工具
人工智能·python·音视频
weixin_538601975 小时前
智能体测开Day31
开发语言·python