java 得到最大总和的子阵列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 得到最大总和的子阵列相关的知识,希望对你有一定的参考价值。
import java.util.ArrayList;
import java.util.List;
public class SubarrayWithMaxSum {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] A= {1, -3, 2, 1, -1};
ArrayList result = subarrayWithMaxSum(A);
System.out.println(result.toString());
}
public static ArrayList<Integer> subarrayWithMaxSum(int[] A){
int n = A.length;
int local_max = 0;
int global_max = Integer.MIN_VALUE;
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i = 0; i < n; i++){
int current = A[i];
local_max = Math.max(current, current + local_max);
if(current > current+local_max){
list.clear();
}
if(local_max > global_max){
list.add(A[i]);
global_max = local_max;
}else{
}
}
return list;
}
}
以上是关于java 得到最大总和的子阵列的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 最大子阵列总和。在具有最大总和的数组(包含至少一个数字)中查找连续的子数组。
java 最大子阵列总和
java 325.最大大小子阵列总和等于k(#)。java
java 325.最大大小子阵列总和等于k(#)。java
java 325.最大大小子阵列总和等于k(#)。java
java 325.最大大小子阵列总和等于k(#)。java