本文共 639 字,大约阅读时间需要 2 分钟。
递归比较左右子树,维护flag,并返回深度。
#includeusing namespace std;class Solution {public: int FindGreatestSumOfSubArray(vector array) { int l = array.size(); vector dp; dp.push_back(0); int ans = 0; for(int i=1;i<=l;i++){ printf("%d\n",dp[i-1]); if(dp[i-1]<=0) dp.push_back(array[i-1]); else dp.push_back(dp[i-1]+array[i-1]); ans = max(ans,dp[i]); } return ans; }};int main(){ int a[] = {1,-2,3,10,-4,7,2,-5}; vector v(a,a+8); Solution S; printf("%d\n",S.FindGreatestSumOfSubArray(v)); return 0;}
转载地址:http://vywji.baihongyu.com/