一維陣列最大子陣列 一

2022-04-05 11:54:58 字數 724 閱讀 2988

題目:返回乙個整數陣列中最大子陣列的和。

要求: 輸入乙個整形陣列,陣列裡有正數也有負數。 陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。 求所有子陣列的和的最大值。要求時間複雜度為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 列舉所有行的...