HZはたまに専門的な問題を持って非コンピュータ専門の同級生をからかっている.今日のテストグループの会議が終わった後、彼はまた話をしました:古い1次元モードの識別の中で、いつも連続するサブベクトルの最大和を計算する必要があって、ベクトルがすべて正数の時、問題はとてもよく解決します.ただし、ベクトルに負数が含まれている場合は


剣指offer HZはたまに専門的な問題を持って非コンピュータ専門の同級生をからかっている.今日のテストグループの会議が終わった後、彼はまた話をしました:古い1次元モードの識別の中で、いつも連続するサブベクトルの最大和を計算する必要があって、ベクトルがすべて正数の時、問題はとてもよく解決します.しかし、ベクトルに負の数が含まれている場合、ある負の数を含んで、隣の正の数が補うことを期待しますか?例えば,{6,−3,−2,7,−15,1,2,2},連続サブベクトルの最大和は8(0番目から3番目まで)である.彼にだまされるの?(サブベクトルの長さは少なくとも1)
public class Solution {
    public int FindGreatestSumOfSubArray(int[] array) {
        int a = array[0];
        int max = array[0];
        for(int i=0;i<array.length;i++){
          if(a>=0)
          {
             a = a+array[i];
          }else{
               a=array[i];

          }
           if(a>max)
               max = a; 
       }
       return max;
    }
}