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)
相关推荐
shehuiyuelaiyuehao9 分钟前
算法31,前缀和,可被k整除的子数组
数据结构·python·算法
宸津-代码粉碎机30 分钟前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
测试19981 小时前
如何用appium搭建Android自动化测试框架?
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
程序员大雄学编程1 小时前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
数字化转型分享点滴1 小时前
## 工厂数字化管理系统的价值体现:构建制造全流程数据闭环
python
203号居民2 小时前
LeetCode hot 100 — 141. 环形链表2
算法·leetcode·链表
2301_800074212 小时前
map,list简单方法
windows·python·list
玖玥拾2 小时前
LeetCode 202 快乐数
算法·leetcode
DeepVisionary3 小时前
30B 参数打平 1 万亿参数:Meta 开源 Muse Glimmer,跑分 35 对 36
python·自动化
吴声子夜歌3 小时前
Guava——基本工具(二)
windows·python·guava