美文网首页
每日Leetcode—算法(6)

每日Leetcode—算法(6)

作者: Chuck_Wu | 来源:发表于2019-05-01 14:28 被阅读0次

53. 最大子序和

输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

算法:

def lengthOfLastWord(self, s: str) -> int:
    s = 0
    ms = nums[0]
    for i in range(len(nums)):
        s += nums[0]
        if s > ms:
            ms = s
        if s < 0:
            s = 0
    return ms

分析:使用了动态规划法,间复杂度为O(n)。首先,不考虑负数的和,将基数s设置为0;然后,将前一项与后一项相加后大于前一项,则更新最大和ms,并逐步累加;遇到基数小于0就重置为0;最后输出最大和。

58. 最后一个单词的长度

输入: "Hello World",输出: 5

算法:

def lengthOfLastWord(self, s: str) -> int:
    count = 0
    res = ''
    for i in s[::-1]:
        if res != '' and i == ' ':
            return count
        if i != ' ':
            res += i
            count += 1
    return count

相关文章

  • Swap Nodes in Pairs

    标签: C++ 算法 LeetCode 链表 每日算法——leetcode系列 问题 Swap Nodes in ...

  • Combination Sum II

    标签: C++ 算法 LeetCode DFS 每日算法——leetcode系列 问题 Combinatio...

  • Divide Two Integers

    标签: C++ 算法 LeetCode 每日算法——leetcode系列 问题 Divide Two Integ...

  • First Missing Positive

    标签: C++ 算法 LeetCode 数组 每日算法——leetcode系列 问题 First Missing...

  • Valid Sudoku

    Valid Sudoku 标签: C++ 算法 LeetCode 每日算法——leetcode系列 问题 Val...

  • Next Permutation

    标签: C++ 算法 LeetCode 数组 每日算法——leetcode系列 问题 Next Permuta...

  • Trapping Rain Water

    标签: C++ 算法 LeetCode 数组 每日算法——leetcode系列 问题 Trapping Rain...

  • Combination Sum

    标签: C++ 算法 LeetCode 数组 DFS 每日算法——leetcode系列 问题 Combinat...

  • Remove Nth Node From End of List

    标签: C++ 算法 LeetCode 链表 每日算法——leetcode系列 问题 Remove Nth Nod...

  • Merge k Sorted Lists

    标签: C++ 算法 LeetCode 链表 每日算法——leetcode系列 问题 Merge Two Sort...

网友评论

      本文标题:每日Leetcode—算法(6)

      本文链接:https://www.haomeiwen.com/subject/liainqtx.html