オファー(Java版)第三十五の質問受賞:リスト与えられたが、その最大連続サブシーケンスを返し、

/ *
HZは時折、それらの非コンピュータ科学の学生を点滅するために、いくつかの専門的な問題を取得します。
テストグループが今日終了します後、彼が話した:旧一次元パターン認識では、
多くの場合、ベクトルは正の整数であるときに最大と連続サブベクトルを計算する必要があり、問題が解決しました。
ベクターは、負の数が含まれている場合しかし、それは負の数を含んでおり、その横に正の数がそれを補うだろう期待できますか?
例えば:{6、-3、-2,7、-15,1,2,2}、及び8の最大連続サブベクトル(アップ第三に、0から始まります)。
その最大連続サブ配列にして返し、あなたは彼が住んでだまされてはいけないのだろうか?(サブベクトルの長さは、少なくとも1です)
* /

輸入java.utilの。*;

パブリッククラスClass35 {

公共のint FindGreatestSumOfSubArray(INT []配列){
int型の長さ= Array.lengthと。
IF(配列== NULL ||長さ<= 0){
戻り0;
}
のArrayList <整数>補助=新規のArrayList <整数>();
INTカウント=配列[0]。
auxiliary.add(カウント)。
IF(長さ== 1){
戻り配列[0]。
}
ため(INT I 1 =; I <長さ、Iは++){
[I] + =配列を数えます。
auxiliary.add(カウント)。
}
Collections.max(補助)を返します。
}
公共ボイド試験(){
int型[]配列=新しいINT [] {6、-3、-2,7、-15,1,2,2}。
System.out.println(FindGreatestSumOfSubArray(配列))。
}

パブリック静的無効メイン(文字列[] args){
// TODO自動生成方法スタブ
Class35 C =新しいClass35()。
c.test();

}

}

 

おすすめ

転載: www.cnblogs.com/zhuozige/p/12515945.html