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)
相关推荐
InfinteJustice8 分钟前
SQL如何处理分组后的空值统计_善用COALESCE与聚合函数
jvm·数据库·python
2301_8038756115 分钟前
JavaScript 中按字段对嵌套对象数组进行分组的实用教程
jvm·数据库·python
py有趣34 分钟前
力扣热门100题之编辑距离
数据结构·算法·leetcode
qq_3721542341 分钟前
如何在 WooCommerce 后台按订单总金额精准筛选订单
jvm·数据库·python
qq_424098561 小时前
CSS如何让背景图片在容器内居中_使用background-position设为center
jvm·数据库·python
m0_617881421 小时前
如何将扁平数组转换为嵌套树形结构(JavaScript 实现)
jvm·数据库·python
2401_837163891 小时前
如何用 window.name 跨域存储不敏感的临时业务数据
jvm·数据库·python
m0_734949791 小时前
如何在 Gin 框架中自定义 JSON 响应的 Content-Type 头部
jvm·数据库·python
水木流年追梦1 小时前
CodeTop 热门题目汇总hot300题
算法·leetcode·职场和发展
djjdjdjdjjdj1 小时前
bootstrap如何修改警告框(Alert)的边框粗细
jvm·数据库·python