每周一道算法题(四十)

本周问题难度级别”Easy”,终于得形容下Python了,好久没写了,手都不行了。。。

问题:给您一个屡组,要求在富有相邻子序列中回到最要命之并行邻子序列的长和。eg:给您一个数组[-2,1,-3,4,-1,2,1,-5,4],它的最为深交互邻子序列为[4,-1,2,1],返回累加和:6(4+(-1)+2+1)

思路:通过这道题,我意识不同的语言实现同道问题之思绪也会不同。因为不同的语言里的“容器”会不同,比如C语言里没字典的定义,你要用链表或者map之类的容器,而其他多语言都来Key-Value的容器。不扯远矣,回到这题,先说下互动邻子序列,就是分段序列中之因素于母序列中的职是相邻之,可以扣押问题中的事例来了解,至于思路是纯的数学,看下代码就OK了:

class Solution:
    def maxSubArray(self, nums):
        //记录最大的累加和
        result = nums[0]
        //临时记录相邻子序列的累加和
        temp = 0
        for num in nums:
            temp += num
            //如果累加和还没当前的数大,直接换掉
            if temp < num:
                temp = num
            //记录最大的相邻子序列累加和
            if temp > result:
                result = temp
        return result

频率要大高的,当然,只是相对于Python来说,脚本语言嘛,你知道。。。

版权声明:本文也 Crazy Steven 原创产品,欢迎转载,转载时伸手注明出处!