152. 乘积最大子数组


思路

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

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

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

dp[i]最大乘积自然是-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)
相关推荐
Q_Q511008285几秒前
python+django/flask的篮球馆/足球场地/运动场地预约系统
spring boot·python·django·flask·node.js·php
云雾J视界15 分钟前
AI驱动半导体良率提升:基于机器学习的晶圆缺陷分类系统搭建
人工智能·python·机器学习·智能制造·数据驱动·晶圆缺陷分类
朝凡FR29 分钟前
AIShareTxt入门:快速准确高效的为金融决策智能体提供股票技术指标上下文
python·ai编程
Q_Q51100828538 分钟前
python+django/flask的城市供水管网爆管预警系统-数据可视化
spring boot·python·django·flask·node.js·php
还是码字踏实42 分钟前
基础数据结构之哈希表:两数之和(LeetCode 1 简单题)
数据结构·leetcode·散列表
Kt&Rs43 分钟前
11.5 LeetCode 题目汇总与解题思路
数据结构·算法·leetcode
还是码字踏实44 分钟前
基础数据结构之数组的前缀和技巧:和为K的子数组(LeetCode 560 中等题)
算法·leetcode·前缀和·哈希字典
小白学大数据3 小时前
增量爬取策略:如何持续监控贝壳网最新成交数据
爬虫·python·性能优化
py有趣6 小时前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
夏鹏今天学习了吗6 小时前
【LeetCode热题100(62/100)】搜索二维矩阵
算法·leetcode·矩阵