动态规划-------最大子段和
2011-09-26 10:55 ...平..淡... 阅读(293) 评论(0) 编辑 收藏 举报
1 /*
2 b[]的递归式为
3 b[j]={ b[j-1]+a[j] , b[j-1]>=0
4 a[j] , b[j-1]<0 }
5 */
6 #include <iostream>
7 using namespace std;
8
9 int MaxSum(int n, int *a)
10 {
11 int sum=0;
12 int b=0;
13 for (int i=0;i<n;i++)
14 {
15 if (b>0) b+=a[i]; else b=a[i];
16 if (b>sum) sum=b;
17 }
18 return sum;
19 }
20
21 int main()
22 {
23 int a[]={-1,3,-4,5,-3,6,7,-7};
24 int sum = MaxSum(8,a);
25 cout<<sum<<endl;
26 return 0;
27 }
continue my dream...
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步