题解 | #连续子数组的最大和# go + 动态规划

连续子数组的最大和

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

func FindGreatestSumOfSubArray(array []int) int{
    if len(array) == 0 {
        return 0
    }

    dp := make([]int, len(array))
    dp[0] = array[0]

    maxNum := math.MinInt64
    for i:=1; i<len(array); i++{
        dp[i] = max(array[i], array[i]+dp[i-1])
        if dp[i] > maxNum {
            maxNum = dp[i]
        }
    }

    return maxNum
}

func max(a, b int)int{
    if a>b {return a}
    return b
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务