最大连续子序列小结
题目
输出其的和与首尾元素。
原题:HDOJ 1231
题解
动态规划:
dp:以a[i]结尾的最大连续子列和,a[i]是当前遍历元素- 状态转移方程:
dp[i]=max(dp[i-1]+a[i],a[i]) - 状态初始化:
dp[0]=a[0]
一些细节:
- 定义变量
start、end为子序列的首尾索引值,即最大和是dp[end] - 当
dp[i-1]+a[i] > a[i]且dp[i] > dp[end],意味着最大子序列由此开始,即start、end都置当前位i - 当
dp[i-1]+a[i] < a[i]时,意味着当前位纳入最大子序列范围,即end置当前位i
1 | |
最大连续子序列小结
http://lafish.fun/Maximum-continuous-subsequence/