动态规划问题,明显的一维表 这边直接改传进来的数组即可,需要记录比较最大值
整体推到过程 i 位置的最大子数组和 值与 i-1 位置

import java.util.*;


public class Solution {
    /**
     * max sum of the subarray
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxsumofSubarray (int[] arr) {
        // write code here
        if(arr==null||arr.length<1){
            return 0;
        }
        int max=arr[0];

        for(int i=1;i<arr.length;i++){
            //子串累加后大于 0 表示可以累加 否则 置0 中断累加    
            if((arr[i]+arr[i-1])>0){
                arr[i]=arr[i]+arr[i-1];
                max=Math.max(arr[i],max);
            }else{
                //考虑到可能数组相加无正数的情况 
                max=Math.max(arr[i],max);
                arr[i]=0;
            }

        }

        return max;
    }
}