LeetCode-152. Maximum Product Subarray
来源:互联网 发布:淘宝店铺金额怎么提现 编辑:程序博客网 时间:2024/06/16 02:23
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.
思路
在遍历数组时需要更新两个局部最优解和全局最优解,维护两个局部解是因为在遍历过程中会出现负数为偶数的情况,这时子串值会负负得正,从而有可能达到最大子串乘积,这两个局部最优解分别是当前子串的极大值和极小值。同时要考虑到0的因素,当出现0时局部变量往往要重置,即极大值和极小值有可能从0的下一个位置重新计算。
class Solution { public int maxProduct(int[] nums) { int largestProduct=nums[0]; int maxTemp=nums[0]; int minTemp=nums[0]; for(int i=1;i<nums.length;++i) { int a=maxTemp*nums[i]; int b=minTemp*nums[i]; maxTemp=Math.max(Math.max(a,b),nums[i]); minTemp=Math.min(Math.min(a,b),nums[i]); largestProduct=Math.max(largestProduct,maxTemp); } return largestProduct; }}
阅读全文
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
- the second project , total thinking
- ubuntu中的vi编辑器的一些简单操作
- 78. Subsets
- 文件系统 (NFS)
- hibernate 三种状态
- LeetCode-152. Maximum Product Subarray
- eclipse下设置tomcat,修改Java代码不必重启tomcat
- 数据类型之间的相互转换
- 生成订单号
- javascript获取项目根目录带项目名
- 13-CSS3提高
- 在C/C++语言中使用正则表达式
- 【模板】树状数组的区间加值和区间查询
- 求两个正整数均值(防溢出)