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)
相关推荐
NullPointer83 分钟前
第21章:音频添加服务
python·aigc
梁正雄6 分钟前
9、Python面向对象编程-1
服务器·开发语言·python
郝学胜-神的一滴15 分钟前
Python的内置类型:深入理解与使用指南
开发语言·python·程序人生
徐_三岁29 分钟前
Python 入门学习
java·python·学习
海上飞猪34 分钟前
【Python】基础数据类型-List
python
CHANG_THE_WORLD39 分钟前
Python 文件操作详解与代码示例
开发语言·数据库·python
卿雪41 分钟前
Redis 数据持久化:RDB和 AOF 有什么区别?
java·数据库·redis·python·mysql·缓存·golang
Chasing Aurora1 小时前
Python后端开发之旅(二)
开发语言·python·语言模型·langchain·ai编程
闲人编程1 小时前
微服务API网关设计模式
python·缓存·微服务·设计模式·系统安全·api·codecapsule
ULTRA??1 小时前
最小生成树kruskal算法实现python,kotlin
人工智能·python·算法