import java.util.*;
public class Solution {
/**
* max sum of the subarray
* @param arr int整型一维数组 the array
* @return int整型
*/
public int maxsumofSubarray (int[] arr) {
if(arr.length ==1){
return arr[0];
}else{
int max = Integer.MIN_VALUE;
int cur = 0;
for( int i=0;i<arr.length;i++){
cur = arr[i]+ cur;
cur = cur < 0 ? 0:cur;
max = Math.max( max,cur);
}
return max;
}
// if( arr.length == 1){
// return arr[0];
// }else{
// int max = arr[0];
// for( int i=1; i<arr.length; i++){
// arr[i] += arr[i-1];
// }
// for( int j=arr.length-1;j>=0;j--){
// max = max < arr[j] ? arr[j]:max;
// for(int k=0; k<=j; k++){
// max = (max < arr[j]-arr[k])? arr[j]-arr[k] : max;
// }
// }
// return max;
// }
}
}
public class Solution {
/**
* max sum of the subarray
* @param arr int整型一维数组 the array
* @return int整型
*/
public int maxsumofSubarray (int[] arr) {
if(arr.length ==1){
return arr[0];
}else{
int max = Integer.MIN_VALUE;
int cur = 0;
for( int i=0;i<arr.length;i++){
cur = arr[i]+ cur;
cur = cur < 0 ? 0:cur;
max = Math.max( max,cur);
}
return max;
}
// if( arr.length == 1){
// return arr[0];
// }else{
// int max = arr[0];
// for( int i=1; i<arr.length; i++){
// arr[i] += arr[i-1];
// }
// for( int j=arr.length-1;j>=0;j--){
// max = max < arr[j] ? arr[j]:max;
// for(int k=0; k<=j; k++){
// max = (max < arr[j]-arr[k])? arr[j]-arr[k] : max;
// }
// }
// return max;
// }
}
}