【LeetCode刷题Java版】Maximum Product Subarray

来源:互联网 发布:淘宝交易风险保障 15天 编辑:程序博客网 时间:2024/05/16 12:38

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));}}


0 0
原创粉丝点击