ジャワ:サブエレメントと最大の連続的な配列を求めます


{クラスTestArray公共
のpublic static int型FindGreatestSumOfSubArray(INT []配列){
(ヌル== 0 Array.lengthとアレイである|| ==)IF {
戻り0;
}
int型currentSum = 0; //ストア現在のアイテムと連続n個の
INT最大=配列[0]; //は、連続するサブ要素の最初の最大数を初期化
するための(I = 0 int型; Iは<Array.lengthとすることが、私は++){
//コア部、よく理解
(currentSum IF <= 0 ){//連続n個のアイテムを流れる電流と0以下、それは後ろに付加要素と必要はない
。currentSum =配列[i]は//はcurrentSum再割当て
他{}
currentSum + =配列を[I]; //値が0 currentSumより大きければ、追加し続けると後部要素、
}
(currentSum> MAX)IF {//各値currentSumは、MAXと比較して変更された
最大= currentSum; //値が最大currentSumより大きい場合、その値がcurrentSum最大に割り当てられている
}
}
の最大を返す;
}
パブリック静的無効メイン(文字列[] args){
INT [] = {アレイ6、-3、-2,7、-15,1,2,2。};
//のint []配列= {-6、-3、-2、-7、-15、 - 。1、-2、-2};
INT結果= FindGreatestSumOfSubArray(アレイ)
のSystem.out.println( "連続するサブ要素値と最大である:"結果+);
}
}
の連続するサブ要素値と最大である:8

---------------------

おすすめ

転載: www.cnblogs.com/hyhy904/p/11257587.html