最大子串和--动态规划经典问题
2015-03-05 12:36
295 查看
【问题描述】
在长度为N的整形数组中,求连续子串的和的最大值,要求复杂度为O(N)。
例如:1 2 3 -1 -20 100 34,结果为134。
在长度为N的整形数组中,求连续子串的和的最大值,要求复杂度为O(N)。
例如:1 2 3 -1 -20 100 34,结果为134。
#include<stdio.h> #include<iostream> #include<math.h> #include<stdlib.h> #include<ctype.h> #include<algorithm> #include<vector> #include<string> #include<queue> #include<stack> #include<set> #include<map> using namespace std; int n, p[10010]; int main() { while (cin >> n) { for (int i = 0; i < n; i++) cin >> p[i]; int b = 0, sum = 0; for (int i = 0; i < n; i++) { b += p[i]; if (b > sum) sum = b; if (b < 0) b = 0; } cout << sum << endl; } return 0; }
相关文章推荐
- 【经典问题】最大子串和
- 动态规划(4)最大连续子串问题
- 连续子串的最大值(经典的DP问题)
- 【算法导论学习-27】动态规划经典问题01:钢条切割的最大收益
- 53. Maximum Subarray动态规划求解最大子串问题
- 连续子串的最大值(经典的DP问题)
- 经典问题LCS(最大公共子串问题)C代码实现
- 2017年A组蓝桥杯(最大公共子串问题)【动态规划】
- 动态规划求解最大子段问题的最优解
- 经典算法(3)——最大间隙问题(线性时间算法)
- 数字序列加入+,*运算符后取得最大值问题; 动态规划;打破传统从决策入手思想;找出问题的特有性质;从例子入手找特点;
- 【编程学习】最大子序列和问题-经典-online线性算法
- 最大子串和的问题
- HDU 1024 Max Sum Plus Plus(动态规划,给定一个数组,求其分成m个不相交子段和最大值的问题)
- ACM-游玩景点(AC,动态规划,最大子序列和问题)
- 动态规划求解最大字段和及其变种问题
- 动态规划经典问题---最长公共子序列(LCS)
- 求和最大的连续子串问题
- 用动态规划算法对最大子串问题的java实现
- 0-1背包问题入门小结 动态规划(DP)经典题目 POJ324 POJ1276