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