**动态规划算法求最大子数组和,并输出最大子数组下标**
已经知道求出最大子数组和的思路:遍历求出dp[i]数组中的最大值即为最大子数组和。
如何求出最大子数组下标?
由dp[i]的定义,子数组结束位置为max(dp[i])的下标i
求起始位置方法:
可建立一维数组rec[n],初始化为0
当dp[i]=nums[i]时,rec[i]=0;
Dp[i]=nums[i]+dp[i-1]时,rec[i]=1;
这样,设已知的最大子数组结束位置下标为i,若i=0,则起始下标=结束下标=i
否则,从已知的结束位置i逆序遍历rec数组直到遇见0为止。
输出最后遍历到的r..
原创
2020-12-11 10:02:28 ·
795 阅读 ·
0 评论