首页 > 代码库 > 【LeetCode刷题Java版】Maximum Product Subarray
【LeetCode刷题Java版】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
.
package com.liuhao.acm.leetcode; /** * @author liuhao 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 MaximumProductSubarray { public static int maxProduct(int[] A) { int len = A.length; if (len <= 0) { return 0; } if (len == 1) { return A[0]; } int max = A[0]; int min = A[0]; int result = A[0]; for (int i = 1; i < len; i++) { int max_temp = max * A[i]; int min_temp = min * A[i]; max = Math.max(A[i], Math.max(max_temp, min_temp)); min = Math.min(A[i], Math.min(max_temp, min_temp)); result = Math.max(result, max); } return result; } public static void main(String[] args) { int[] a = new int[] { -4,-3 }; System.out.println(maxProduct(a)); } }
【LeetCode刷题Java版】Maximum Product Subarray
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。