java 得到最小总和的子阵列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 得到最小总和的子阵列相关的知识,希望对你有一定的参考价值。

import java.util.ArrayList;

public class SubArrayWithMinSum {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] a = {1, 3, -2, -1,1};
		ArrayList<Integer> result = subarrayWithMinSum(a);
		
		System.out.println(result.toString());
	}
	
	public static ArrayList<Integer> subarrayWithMinSum(int[] A){
		int n = A.length;
		int local_min = 0;
		int global_min = Integer.MAX_VALUE;
		ArrayList<Integer> list = new ArrayList<Integer>();
		for(int i = 0; i < n; i++){
			int current = A[i];
			local_min = Math.min(current, current + local_min);
			if(current < current+local_min){
				list.clear();
			}
			if(local_min < global_min){
				list.add(current);
				global_min = local_min;
			}
		}
		return list;
	}
}

以上是关于java 得到最小总和的子阵列的主要内容,如果未能解决你的问题,请参考以下文章

java 209.最小尺寸子阵列总和(#)。java

java 209.最小尺寸子阵列总和(#)。java

java 209.最小尺寸子阵列总和(#)。java

java 209.最小尺寸子阵列总和(#)。java

java 209.最小尺寸子阵列总和(#)。java

java 209.最小尺寸子阵列总和(#)。java