Maximum Product subarray | LeetCode
来源:互联网 发布:百川二建考试软件 编辑:程序博客网 时间:2024/06/15 06:49
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
.
solution implement by java:
解答思路:每次选择一个元素都是如果该元素使得乘积变大则加入,否则不乘,所以我们需要两个变量分别用来记录在决定当前元素是否需要乘的时候,前面子串所得到的最小值和最大值,每次乘积结果都再用一个变量来存取记录,最后走完整个过程,记录下来的最大值就是结果。
public int maxProduct(int[] nums) {
if(nums.length==1)
return nums[0];
int left=nums[0];
int right=nums[0];
int maxpro=nums[0];
int max,min;
for(int i=1;i<nums.length;++i){
max=Math.max(Math.max(left*nums[i],right*nums[i]),nums[i]);
min=Math.min(Math.min(left*nums[i],right*nums[i]),nums[i]);
maxpro=Math.max(max,maxpro);
left=max;
right=min;
}
return maxpro;
}
- 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
- spawn分析
- 1013. 数素数 (20)
- 慕课网 static 静态变量
- angularJS学习之路(三)---控制器
- 值栈与ognl
- Maximum Product subarray | LeetCode
- gray code
- C++与C#在变量定义上的区别
- 切入点表示式
- Android之开发常用小功能(持续更新中。。。)
- 关于adaboost的个人理解
- shell笔记(1):shell入门
- DOM基础
- Hibernate 映射关系 ---Many2Many 单向关联