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

连续子数组的最大和(二)

https://www.nowcoder.com/practice/11662ff51a714bbd8de809a89c481e21

class Solution:
    def FindGreatestSumOfSubArray(self, array: List[int]) -> List[int]:
        # write code here
        dp = [0 for i in range(len(array))]
        dp[0] = array[0]
        maxsum = dp[0]
        # 滑动区间
        left = 0
        right = 0
        # 记录最长的区间
        resl = 0
        resr = 0
        for i in range(1,len(array)):
            if dp[i-1]+array[i]>=array[i]:
                dp[i] = dp[i-1]+array[i]
                right = i
                thissum = dp[i]
                if thissum>=maxsum:
                    maxsum = thissum
                    if right-left>resr-resl:
                        resl = left
                        resr = right
            else:
                dp[i] = array[i]
                left = i
                right = i
                thissum = dp[i]
                if thissum>maxsum:
                    maxsum = thissum
                    resl = left
                    resr = right
                elif thissum==maxsum:
                    if right-left>resr-resl:
                        resl = left
                        resr = right
        
        return array[resl:resr+1]

全部评论

相关推荐

迷茫的大四🐶:价格这么低都能满了?
点赞 评论 收藏
分享
09-01 16:46
已编辑
门头沟学院 Java
mmvvpp:错了!!给了offer之后还有试用期,试用期过了就完事了?错了!还有每个季度的kpi考核,拿一个c就等着被劝退。那我好好干不拿c不就完了?错了!最多三年劳动合同到期,续不续期未知数。每年都有1800w毕业生毕业,今年你是小萌新蜜月期,明年你是老油条,长江后浪推前浪,前浪死在沙滩上。这就是——互联网!
秋招的破防瞬间
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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