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)
相关推荐
x_xbx2 分钟前
LeetCode:202. 快乐数
算法·leetcode·职场和发展
Ujimatsu2 分钟前
数据分析相关面试题-Python部分
大数据·python·数据分析
未知鱼4 分钟前
Python安全开发之简易Xss检测工具(详细注释)
python·安全·xss
yaoxin52112312 分钟前
368. Java IO API - 基本文件属性
java·开发语言·python
老虎062716 分钟前
LeetCode热题100 刷题笔记(第四天)二分 「 寻找两个正序数组的中位数」
笔记·算法·leetcode
_日拱一卒17 分钟前
LeetCode:最小覆盖字串
java·数据结构·算法·leetcode·职场和发展
程序媛徐师姐24 分钟前
Python基于机器学习的就业岗位推荐系统【附源码、文档说明】
python·机器学习·python机器学习·就业岗位推荐系统·python就业岗位推荐系统·python机器学习就业推荐·就业岗位推荐
建军啊25 分钟前
java审计进阶
java·开发语言·python
码界筑梦坊30 分钟前
329-基于Python的交通流量数据可视化分析系统
开发语言·python·信息可视化·数据分析·django·vue·毕业设计
样例过了就是过了42 分钟前
LeetCode热题100 最小栈
数据结构·c++·算法·leetcode