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){ return 0; } int[] dp = new int[arr.length]; for(int i = 0; i < arr.length; ++i){ if(i == 0){ dp[i] = arr[i]; }else{ if(dp[i - 1] < 0){ dp[i] = arr[i]; }else{ dp[i] = dp[i - 1] + arr[i]; } } } int maxV = Integer.MIN_VALUE; for(int i = 0; i < dp.length; ++i){ maxV = Math.max(maxV, dp[i]); } return maxV; } }