题解 | #连续子数组的最大和#

连续子数组的最大和

https://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484

class Solution {
public:
    int FindGreatestSumOfSubArray(vector<int> array) {
 
        //f[i]=array[i]+f[i-1]?
        //no, 一开始就想着必须要用上f[i-1],其实不一定用得上

        //state transmit program:f[i]=max(f[i-1]+array[i],array[i])
        vector<int> dp(array.size());
        int ret=array[0];
        for(int i=0;i<array.size();i++){
            if(!i){
                dp[0]=array[0];
                continue;
            }
            
            dp[i]=max(dp[i-1]+array[i],array[i]);
            if(dp[i]>ret){
                ret=dp[i];
            }
        }


        return ret;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务