【LeetCode】152.乘积最大子数组
2023-09-14 09:13:25 时间
1. 题目
2.分析
可以得到递推公式如下:
3.代码
class Solution:
def maxProduct(self, nums: List[int]) -> int:
dmax = [0]* len(nums)
dmin = copy.deepcopy(dmax)
# print(dmin)
dmax[0] = dmin[0] = nums[0]
for i in range(1,len(nums)):
cur = nums[i]
dmax[i] = max(dmax[i-1] * cur,dmin[i-1] * cur ,cur)
# print(dmax)
dmin[i] = min(dmin[i-1] * cur,dmax[i-1]* cur, cur)
return max(dmax)
相关文章
- Java实现 LeetCode 717 1比特与2比特字符(暴力)
- Java实现 LeetCode 689 三个无重叠子数组的最大和(换方向筛选)
- Java实现 LeetCode 643 子数组最大平均数 I(滑动窗口)
- Java实现 LeetCode 560 和为K的子数组(某著名排序大法改编)
- Java实现 LeetCode 453 最小移动次数使数组元素相等
- Java实现 LeetCode 421 数组中两个数的最大异或值
- Java实现 LeetCode 410 分割数组的最大值
- Java实现 LeetCode 1013 将数组分成和相等的三个部分
- Java实现 LeetCode 303 区域和检索 - 数组不可变
- Java实现 LeetCode 220 存在重复元素 III(三)
- Java实现 LeetCode 26 删除排序数组中的重复项
- Java实现 LeetCode 4 寻找两个有序数组的中位数
- 【二分】LeetCode 33. 搜索旋转排序数组【中等】
- LeetCode:152_Maximum Product Subarray | 最大乘积连续子数组 | Medium
- leetcode - 子数组最大平均值
- LeetCode-878. 第 N 个神奇数字【数学,二分查找,找规律】
- LeetCode-643. 子数组最大平均数 I
- LeetCode - 644 子数组最大平均数 II
- Leetcode 238. 除自身以外数组的乘积
- Leetcode 565. 数组嵌套(尽力了)
- [LeetCode] 26. Remove Duplicates from Sorted Array ☆(从有序数组中删除重复项)
- leetcode 771. Jewels and Stones
- 【Leetcode刷题Python】子数组查找
- 【LeetCode】53.最大子数组和