java 最大乘积子阵列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 最大乘积子阵列相关的知识,希望对你有一定的参考价值。
import java.util.*;
public class MaxProductSubArray {
public static void main(String args[]) {
MaxProductSubArray maxProductSubArray = new MaxProductSubArray();
int[][] input = {
null,
{},
{-6,4,-5,8,-10,0,8},
{40,0,-20,-10}
};
for(int i=0; i< input.length; i++) {
System.out.println("Input: " + Arrays.toString(input[i]) + " Result: " + maxProductSubArray.find(input[i]));
}
}
private int find(int[] input) {
if(input == null || input.length < 1) {
return -1;
}
int maxEnding = 0;
int minEnding = 0;
int maxSoFar = 0;
for(int i=0; i<input.length; i++){
int temp = maxEnding;
maxEnding = Math.max(input[i], Math.max(minEnding * input[i], maxEnding * input[i]));
minEnding = Math.min(input[i], Math.min(minEnding * input[i], temp * input[i]));
maxSoFar = Math.max(maxSoFar, maxEnding);
}
return maxSoFar;
}
}
以上是关于java 最大乘积子阵列的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 152. 乘积最大子数组c++/java详细题解
java 53.最大子阵列(第1个).java
java 53.最大子阵列(第1个).java
java 53.最大子阵列(第1个).java
java 53.最大子阵列(第1个).java
java 53.最大子阵列(第1个).java