題目:返回乙個整數陣列中最大子陣列的和。
要求: 輸入乙個整形陣列,陣列裡有正數也有負數。 陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。 求所有子陣列的和的最大值。要求時間複雜度為o(n)。
思路:把每個和放在二維陣列中,找出最大數根據i和j的關係就找到最大陣列,不過時間複雜度是o(n^2),還在試著用鍊錶的方式可以使他的時間複雜度是o(n^2)輸出
**:
#include #define n 8截圖:using
namespace
std;
void
main()
,k=0
;
inti,j,i,j;
for (i=0;i)
for (j=0;j)
for(j=0;j)
}for (i=0;i)}}
cout
<
cout
<
cout
<
最大子陣列為:
"<
for (i=0;i1;i++,j++)
cout
<
}
一維陣列的最大子段和
public static int maxsubarray int a,int n return max 解釋說明 假設下標 m,n 這一段是最大值段,即b sum,sum b 如果往後加,加的是負數,則b一直小於sum,則表示 m,n 這一段一直為最大值段,最大值sum不變 如果加到後面某一值 下...
二維陣列最大子陣列和
陣列輸出 int sum a 0 0 b,c n int imin 0,imax 0,jmin 0,jmax 0 for i 0 i c i a 0 i for i 1 i 4 i else b c j if sum b if i1 else for i imin i imax i cout cou...
二維陣列求最大子陣列
程式要使用的陣列放在乙個叫 input.txt 的檔案中,檔案格式是 陣列的行數,陣列的列數,每一行的元素,用逗號分開 每乙個數字都是有符號32位整數,當然,行數和列數都是正整數。演算法思想 對於一維的陣列,我們可以很容易用動態規劃的方法求得最大子陣列 所以我們將i 0.n j i.n 列舉所有行的...