整数の配列内で最大部分配列S(h,k)
を探したいと思います。私はすでに最大値を見つけるためのコード(Javaで)を持っていますが、それはうまくいきますが、どのようにしてh
とk
の2つのインデックスを得ることができますか?インデックスを持つ配列の最大部分配列を見つける
int []a = {-2, 1, -3, 4, -1, 2, 1, -5, 4 };
int max_so_far = 0, max_ending_here = 0;
for(int i=0; i<a.length; i++) {
max_ending_here = Math.max(0, max_ending_here + a[i]);
max_so_far = Math.max(max_so_far, max_ending_here);
}
System.out.println("The maximal sum of subsequence is = "+max_so_far)";
が、これはあなたが探して何ですか? http://www.geeksforgeeks.org/largest-sum-contiguous-subarray/ –
いいえ、そうではありません。しかし、私はこのサイトで正しいソリューションを見つけました。すべての数字が負の数でも働いていました。 http://code.geeksforgeeks.org/o4cxS2 –