Leetcode 53.最大子序列和
Time: 20190904
Type: Easy
考察:动态规划
题目描述
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
示例:
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
进阶:
如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-subarray
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
这里的序列指的是连续的,如果是不连续的,则直接挑出其中的正数就完事了。
用动态规划的思路来思考,f[i]
表示到下标为i
的元素为止,最大子序列和。
关于最大子序列和,参考之前写的文章,那里有详细的解读。
最大子序列和
代码
class Solution:def maxSubArray(self, nums: List[int]) -> int:maxSum, maxCur = nums[0], nums[0]n = len(nums)for i in range(1, n):if maxCur <= 0: # maxCur + a[i] <= a[i]maxCur = nums[i]else:maxCur += nums[i] maxSum = max(maxSum, maxCur)return maxSum
END.
Leetcode 53.最大子序列和相关推荐
- 【动态规划】LeetCode 53. Maximum Subarray
LeetCode 53. Maximum Subarray 原题描述(求子序列最大和/最大子串):Find the contiguous subarray within an array (conta ...
- Leetcode 792. 匹配子序列的单词数
Leetcode 792. 匹配子序列的单词数 给定字符串 s 和字符串数组 words, 返回 words[i] 中是s的子序列的单词个数 . 字符串的 子序列 是从原始字符串中生成的新字符串,可以 ...
- leetcode 53. 最大子序和 动态规划解法、贪心法以及二分法
题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子 ...
- 动态规划——最大子数组和(Leetcode 53)
题目选自Leetcode 53. 最大子数组和 题目描述: 解题思路: 解题代码: int maxSubArray(int* nums, int numsSize){int pre = 0, maxA ...
- 【DP】LeetCode 53. Maximum Subarray
LeetCode 53. Maximum Subarray Solution1:我的答案 动态规划 class Solution { public:int maxSubArray(vector< ...
- leetcode 53 最大自序和
leetcode 53 最大子序和 # 解法一 穷举 i 表示取数组中元素的个数, j表示数组开始的位置 # 此解法由于枚举效率过低 超出时间限制 class Solution:def maxSubA ...
- Leetcode 792. 匹配子序列的单词数 C++
Leetcode 792. 匹配子序列的单词数 题目 给定字符串 S 和单词字典 words, 求 words[i] 中是 S 的子序列的单词个数. 示例: 输入: S = "abcde&q ...
- leetcode - 53. 最大子序和 152. 乘积最大子序列 - 两个算法之间的联系和区别
这两道算法题的解题思路是差不多的,但是从整体上分析,乘积最大子序列之和是最大子序和的进阶.先来看看两道算法题的简单描述. 53.最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组 ...
- 114. Leetcode 53. 最大子数组和 (动态规划-子序列问题)
步骤一.确定状态: 确定dp数组及下标含义 dp[i]:包括下标i之前的最大连续子序列和为dp[i]. 步骤二.推断状态方程: dp[i]只有两个方向可以推出来: dp[i - 1] + nums[i ...
最新文章
- ECharts测量图,功率图
- 276.	Paint Fence
- ArcGIS Pro发布三维场景服务
- MAX3222/MAX3232/ MAX3237/MAX3241/串口通信中文_技术文档
- Java World中的GraphQL简介
- (数据科学学习手札03)Python与R在随机数生成上的异同
- Flutter Exception降到万分之几的秘密 1
- python中lambda()的用法_python中lambda()的用法
- delphi dbgrideh 遍历每一个单元格_BFS 的使用场景:层序遍历、最短路径问题
- 【2012.1.24更新】不要再在网上搜索eclipse的汉化包了!
- 约瑟夫环c语言不用链表,C语言基于循环链表解决约瑟夫环问题的方法示例
- 入门OJ:photo
- HTML页面基本结构
- python词频统计_Python中文词频统计
- AI将带我们去何方?(下-展望篇)
- 洛必达法则的一种极简证明
- 中荷金生有约养老年金险怎么样?好不好?
- 2020秋季《大数据与物联网》期末答案参考
- OpenCV第五章练习p163_5~8
- 疑难杂症:系统状态正常,LInux双机Pacemaker为什么还要切换?
热门文章
- 深度学习——卷积块回顾
- java获取达梦数据库_记一次对达梦数据库的优化过程
- c语言字符合法,C语言字符数据的合法形式
- android fragment 教程,Android app开发中的Fragment入门学习教程
- linux下mysql数据库目录迁移_mysql实现linux下数据库目录迁移
- springboot传入json和文件_Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)...
- 电脑主板跳线_电脑主板跳线连接图
- jsf教程_JSF教程
- linux sed命令_Linux sed命令用法与示例
- primefaces教程_Primefaces树,TreeNode,TreeTable示例教程