152. 乘积最大子数组 - 力扣(LeetCode)

大佬图示:

代码

python 复制代码
# encoding = utf-8
# 开发者:Alen
# 开发时间: 21:37 
# "Stay hungry,stay foolish."

class Solution(object):
    def maxProduct(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        res = max(nums)
        curMin, curMax = 1, 1

        for n in nums:
            if n == 0:
                curMin, curMax = 1, 1
                continue
            temp = n * curMax # 防止提前修改的curMax污染curMin
            curMax = max(n * curMax, n * curMin, n)
            curMin = min(temp, n * curMin, n)
            res = max(res, curMax)
        return res
num = Solution().maxProduct([-4,-3,-2])
print(num)

结果

解题步骤:

相关推荐
通信小呆呆7 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben0447 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
何以解忧,唯有..8 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
想吃火锅10059 小时前
【leetcode】88.合并两个有序数组js
算法
生成论实验室10 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres82110 小时前
算法复键——树状数组
数据结构·算法
H1785350909610 小时前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks
dayuOK630710 小时前
写作卡壳怎么办?我的“5分钟启动法”
人工智能·职场和发展·自动化·新媒体运营·媒体
不会就选b10 小时前
算法日常・每日刷题--<二分查找>3
算法