最大欄位和

2021-07-26 18:48:44 字數 662 閱讀 5832

#include #include #include #include #include using namespace std;

//最大欄位和問題描述:

/* 給定n個整數(可能為負數)組成的序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。

當所給的整均為負數時定義子段和為0,

*/ //測試資料

/*輸入:

6 -2 11 -4 13 -5 -2

輸出: [2,4] 20

*/ int n,a[105],besti,bestj,sum;

int res[105];

int f1() //第一種解法,時間o(n^3)

if(thissum>sum)

}} return sum;

}int f2() //第二種解法,時間o(n^2)

} }return sum;

}int f3() //第三種動態規劃解法(從後面考慮),時間o(n)

int main()

{ cin>>n;

for(int i=1;i<=n;i++)

scanf("%d",&a[i]);

// cout<<"["<

最大欄位和

1049 最大子段和 難度 基礎題 n個整數組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的連續子段和的最大值。當所給的整數均為負數時和為0。例如 2,11,4,13,5,2,和最大的子段為 11,4,13。和為20。input 第1行 整數序列的長度n 2 n 5...

最大欄位和

題目描述 給出一段序列,選出其中連續且非空的一段使得這段和最大。輸入格式 第一行 是乙個正整數n,表示了序列的長度。第二行 包含n個整數num i 描述了這段序列。輸出格式 第一行 乙個整數,為最大的子段和是多少。第二行 起始位置和終止位置 輸入樣例 72 4 3 1 2 4 3 輸出樣例 43 5...

最大欄位和

最大子段和問題。給定由n個整數組成的序列,求序列中子段的最大和,若所有整數均為負整數時定義最大子段和為0。例如,當 a1,a2,a3,a4 a5,a6 2,11,4,13,5,2 時,最大子段和為 a2 a3 a4 20 輸入格式 第一行輸入整數個數n 1 n 10000 再依次輸入n個整數。輸出格...