听峰问雨 听峰问雨
首页
导航站
  • 编程语言

    • Python
  • 数据结构与算法
  • 设计模式
  • UVA
  • LeetCode
  • 《Go语言实战》
  • 《Go Web编程》
  • 《算法精粹 经典计算机科学问题的Python实现》
  • 学习
  • 博客搭建
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 关于
GitHub (opens new window)

zfprotectors

默默学习er
首页
导航站
  • 编程语言

    • Python
  • 数据结构与算法
  • 设计模式
  • UVA
  • LeetCode
  • 《Go语言实战》
  • 《Go Web编程》
  • 《算法精粹 经典计算机科学问题的Python实现》
  • 学习
  • 博客搭建
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 关于
GitHub (opens new window)
  • UVA

  • LeetCode

    • LeetCode1 - 两数之和
    • LeetCode53 - 最大子数组和
      • 问题
      • 题解
        • 暴力
        • 贪心
        • 分治法
        • 动态规划
      • 代码
    • LeetCode88 - 合并两个有序数组
    • LeetCode217 - 存在重复元素
    • LeetCode1108 - IP地址无效化
    • LeetCode1290 - 二进制链表转整数
    • LeetCode1603 - 设计停车系统
  • ACM
  • LeetCode
zfprotectors
2022-06-21
目录

LeetCode53 - 最大子数组和

# 问题

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组 是数组中的一个连续部分。

输入:nums = [-2,1,-3,4,-1,2,1,-5,4]

输出:6

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

# 题解

# 暴力

# 贪心

# 分治法

# 动态规划

# 代码

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        dp=[-99999]*(len(nums)+1)
        dp[0]=nums[0]
        res = dp[0]
        for idx in range(1, len(nums)):
            dp[idx]=max(dp[idx-1]+nums[idx],nums[idx])
            res = max(res, dp[idx])
        return res
1
2
3
4
5
6
7
8
9
编辑 (opens new window)
LeetCode1 - 两数之和
LeetCode88 - 合并两个有序数组

← LeetCode1 - 两数之和 LeetCode88 - 合并两个有序数组→

最近更新
01
LeetCode88 - 合并两个有序数组
06-22
02
LeetCode1 - 两数之和
06-22
03
LeetCode1603 - 设计停车系统
06-21
更多文章>
Theme by Vdoing | Copyright © 2021-2022 zfprotectors | 闽ICP备2021014222号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式