【Leetcode】152. Maximum Product Subarray
来源:互联网 发布:朱雀投资怎么样知乎 编辑:程序博客网 时间:2024/06/07 01:43
Description:
Find the contiguous subarray within an array (containing at least one number) which has the largest product.
Example:
Given the array [2,3,-2,4], the contiguous subarray [2,3] has the largest product = 6.
思路:
这道题与53.Maximum Subarray相似,53题是求最大连续子数组的和,本题是求最大连续子数组的积。与求和不同,求积的时候,数值0和负数会对整体带来较大影响,因此需要将其纳入考虑。同样的,类似求和,运用逐步迭代求最大值的方法来把最大的积求出来,在这里,我们需要引入两个辅助参数pos和neg来区分正负值,pos的值在前面一直累乘的积与当前值中取最大值,而neg在之前累乘的积与0中取最小值,这样可以保证pos,neg两者的绝对值都是大值。由于pos和neg的值会在当前值为负数时进行交换,这是保证pos的值最大,同时可把最小的值但其绝对值可能最大的数存起来,存到参数neg中,以便遇到偶数倍个负数进行交换,再度确保pos的值达到最大。
下面是用C++的实现过程。
class Solution{ public: int maxProduct(vector<int>& arr){ int len=arr.size(); if(len==1) return arr[0]; //当只有一个元素时 int pos,neg; pos = max(arr[0],0); neg = min(arr[0],0); int max_product = pos; for (int i=1;i<len;i++){ if(arr[i]==0){ pos=0; neg=0; } if(arr[i]<0) swap(pos,neg); pos = max(arr[i],arr[i]*pos); neg = min(arr[i],arr[i]*neg); max_product = max(max_product,pos); } return max_product; }};
0 0
- LeetCode 152. Maximum Product Subarray
- [leetcode] 152.Maximum Product Subarray
- [LeetCode]152. Maximum Product Subarray
- leetcode:152. Maximum Product Subarray
- leetcode 152. Maximum Product Subarray
- 152. Maximum Product Subarray LeetCode
- [leetcode] 152. Maximum Product Subarray
- LeetCode *** 152. Maximum Product Subarray
- LeetCode 152. Maximum Product Subarray
- leetcode.152. Maximum Product Subarray
- LeetCode-152.Maximum Product Subarray
- LeetCode - 152. Maximum Product Subarray
- [Leetcode]152. Maximum Product Subarray
- LeetCode 152. Maximum Product Subarray
- leetcode:152. Maximum Product Subarray
- [leetcode]152. Maximum Product Subarray
- LeetCode 152. Maximum Product Subarray
- [LeetCode] 152. Maximum Product Subarray
- 安卓在服务器端设置数据
- 蓝桥杯之啤酒饮料
- 随机测试加减法
- MAVEN项目标准目录结构
- Hbase入门快理解
- 【Leetcode】152. Maximum Product Subarray
- 如何引进MES系统
- opencv 基本绘图函数总结
- MySql InnoDB 高级应用
- 安卓原生第三方分享(QQ,微信,微博)
- 洛谷 2296_寻找道路_spfa+dfs
- 特征值和特征矩阵的意义和应用
- 字符串的(暴力)枚举连续子串2
- Linux中常用目录作用