C6 1 最大子陣列和

2021-08-01 01:11:05 字數 541 閱讀 1839

給定乙個陣列a[0,…,n-1],求其最大子陣列(長度》=1)和

第一行乙個整數n(1<=n<=5000),然後依次輸入n個整數(每個整數範圍[-5000, 5000])

輸出乙個整數表示最大子陣列和

5 1 -1 1 1 -1

動態記憶體分配,陣列

效率還行,能過選做題。

#include "stdafx.h"

#include

using namespace std;

int maxsum(int a,int size)

//考慮下全為負的情況

if (sum == 0)

}return

sum;

}int main()

//除錯語句,請忽略

/*for(int i=0;iint

sum=0;

sum = maxsum(p, n);

cout << sum;

deletep;

return

0;}

最大子陣列和

問題描述 給定乙個整數陣列a 0 n 求陣列a的子陣列,使其元素和為最大。問題分析 方法一 可以用普通的方法列舉所有的子陣列,然後求出最大的子陣列和,時間複雜度為o n n 方法二 問題描述符合動態規劃最優子結構的要求。設b i 表示以a i 結尾的子陣列的最大子段和,即 b i max,其中0 j...

最大子陣列和

給定乙個陣列 求出陣列的最大子陣列和 其中包含正,負 和0 很簡單把每個子陣列的和求出來話不多說看 方法1暴力求解法 把所有的子陣列都求解出來o n2 public static intgetmaxsubarr int arr return res 第二種方法 dp求解 很簡單理解加上當前的數arr...

最大子陣列和

使用動態規劃 f i 以array i 為末尾元素的子陣列的和的最大值,子陣列的元素的相對位置不變 f i max f i 1 array i array i res 所有子陣列的和的最大值 res max res,f i 如陣列 6,3,2,7,15,1,2,2 初始狀態 f 0 6 res 6 ...