[leetcode]Maximum Product Subarray
来源:互联网 发布:图表数据区域格式 编辑:程序博客网 时间:2024/06/06 00:45
Maximum Product Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest product.
For example, given the array [2,3,-2,4]
,
the contiguous subarray [2,3]
has the largest product = 6
.
题目表述:找出乘积最大的连续子数组。
解题思路:该题类似最大连续子数组求和。 但这里的决策条件每次要保存两个状态即包括当前元素的最大乘积,与包括当前元素的最小乘积,
最大乘积主要用来维护运算过程中的正数连续包含其中的偶数个负数, 最小乘积主要用来维护连续中负数个数为奇的情况。
public class Solution { public int maxProduct(int[] nums) { if(nums == null || nums.length < 1) return 0; int curMaxProduct = nums[0]; int curMinProduct = nums[0]; int maxProduct = nums[0]; for(int i = 1; i < nums.length; i++){ int tMax = nums[i] * curMaxProduct; int tMin = nums[i] * curMinProduct; int m = tMax; int n = tMin; if(tMax < tMin){ m = tMin; n = tMax; } curMaxProduct = Math.max(nums[i], m); curMinProduct = Math.min(nums[i], n); maxProduct = Math.max(maxProduct, curMaxProduct); } return maxProduct; }}
0 0
- Maximum Product Subarray 【LeetCode】
- [LeetCode] Maximum Product Subarray
- leetcode-Maximum Product Subarray
- Maximum Product Subarray -- LeetCode
- LeetCode-Maximum Product Subarray
- [LeetCode]Maximum Product Subarray
- [LeetCode]Maximum Product Subarray
- 【LeetCode】Maximum Product Subarray
- leetcode:Maximum Product Subarray
- leetcode: Maximum Product Subarray
- Leetcode: Maximum Product Subarray
- [LeetCode]Maximum Product Subarray
- Leetcode Maximum Product Subarray
- [Leetcode]Maximum Product Subarray
- Leetcode--Maximum Product Subarray
- Maximum Product Subarray [leetcode]
- LeetCode | Maximum Product Subarray
- LeetCode-Maximum Product Subarray
- sgu195
- yii2学习之始
- java 面向对象编程之一
- 随便抄一点
- 杭电 HDU ACM 1421 搬寝室
- [leetcode]Maximum Product Subarray
- support for cores revisions 0x17 and 0x18 disabled by module param allhwsupport=0.
- 简单计算器 HDU 1237
- LCA最近公共祖先(朴素+倍增法)
- ZOJ 3872 Beauty of Array(模拟)
- hdu 1114 Piggy-Bank
- 使用pentaho report 开发web报表
- telnet命令行使用
- 黑马程序员——多线程