152. Maximum Product Subarray java solutions

Posted Miller1991

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了152. Maximum Product Subarray java solutions相关的知识,希望对你有一定的参考价值。

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.

记录当前最大, 最小值. 因为遇到负数时, 与最小值的乘积可能成为最大值.

 1 public class Solution {
 2     public int maxProduct(int[] nums) {
 3         if(nums == null || nums.length < 1) return 0;
 4         int ans = nums[0];
 5         int max = nums[0], min = nums[0];
 6         for(int i = 1; i < nums.length; i++){
 7             int tmp1 = max*nums[i];
 8             int tmp2 = min*nums[i];
 9             max = Math.max(nums[i],Math.max(tmp1,tmp2));
10             min = Math.min(nums[i],Math.min(tmp1,tmp2));
11             ans = Math.max(max,ans);
12         }
13         return ans;
14     }
15 }

 

以上是关于152. Maximum Product Subarray java solutions的主要内容,如果未能解决你的问题,请参考以下文章

152. Maximum Product Subarray(js)

152. Maximum Product Subarray

leetcode 152. Maximum Product Subarray

刷题152. Maximum Product Subarray

LeetCode 152. Maximum Product Subarray

152. Maximum Product Subarray