Maximum Subarray

ref

http://blog.csdn.net/linhuanmars/article/details/21314059

 

DP经典题目,关于怎么动首尾部分,ref说的很明白

public class Solution {

    public int maxSubArray(int[] A) {

        if(A==null || A.length==0) return 0;

        int loc = A[0], sum=A[0];

        for(int i=1; i<A.length; i++){

           // loc = Math.max(loc, loc+A[i]);

           loc = Math.max(A[i], loc+A[i]); // 注意我的错法,是不是要加上以前的loc

            sum = Math.max(sum, loc);

        }

        return sum;

    }

}

 

你可能感兴趣的:(array)