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)
相关推荐
Katecat99663几秒前
YOLO11-SEG-AFPN-P345改进采血装置检测与识别系统
python
q12345678909828 分钟前
FNN sin predict
开发语言·python
小白菜又菜34 分钟前
Leetcode 221. Maximal Square
算法·leetcode·职场和发展
先做个垃圾出来………41 分钟前
Python字节串“b“前缀
开发语言·python
dreams_dream1 小时前
什么是迭代器和生成器
python
悠闲蜗牛�2 小时前
深入浅出Spring Boot 3.x:新特性全解析与实战指南
开发语言·python
xinhuanjieyi2 小时前
python获取租房70页信息,为了安全隐去了真实网址
开发语言·python
gzroy2 小时前
量化金融实践-海龟交易法
python·金融
sg_knight3 小时前
适配器模式(Adapter)
python·设计模式·适配器模式·adapter