最大子串行和問題

2021-06-27 21:56:51 字數 726 閱讀 1735

問題描述:

輸入一組整數,求出這組數字子串行和中最大值。也就是只要求出最大子串行的和,不必求出最大的那個序列。例如:

序列:-2 11 -4 13 -5 -2,則最大子串行和為20。

序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,則最大子串行和為16。

下面依次給出幾個不同實現演算法

int maxsubseqsum1( int a, int n )//演算法1  t( n ) = o( n3 )

/* j迴圈結束*/

} /* i迴圈結束*/

return maxsum;

}int maxsubseqsum2( int a, int n ) //演算法2t( n ) = o( n2 )

/* j迴圈結束*/

} /* i迴圈結束*/

return maxsum;}

int maxsubseqsum4( int a, int n ) //演算法4t( n ) = o( n2 )

return maxsum;

演算法3---分治法

最大子串行和問題

問題 給定一整數序列a1,a2,an 可能有負數 求a1 an的乙個子串行ai aj,使得ai到aj的和最大 例如 整數序列 2,11,4,13,5,2,5,3,12,9的最大子串行的和為21。對於這個問題,最簡單也是最容易想到的那就是窮舉所有子串行的方法。利用三重迴圈,依次求出所有子串行的和然後取...

最大子串行和問題

問題描述 給定乙個整數序列 可能有負數 求一子串行 記為l 使得該子串行所有元素之和最大。例 給定序列 2,11,4,13,5,2,則最大子串行和為20 11,4,13 方法一 遍歷窮舉 o n 2 略方法二 分治遞迴 o n logn 思路 將輸入序列l分為左右兩個子串行l1和l2,則l 只可能以...

最大子串行和問題

問題描述 求 2,11,4,13,5,2 的最大子串行和。方法一 使用3層for迴圈巢狀,窮舉式的嘗試所有的可能,如下 public class demo1 return maxsum public static void main string args system.out.println 最大...