LeetCode 53. 最大子序和

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!

博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客


题目

难度 简单

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

示例:

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

题解

  这题是一个非常经典的题目,很多学校的数据结构与算法都是以这个开头讲的。这里有很多种解法,动态规划、分治、滑动窗口等等。这里提供一个动态规划的简单解法,我们从0开始向前移动,记录此位置之前的最大的子序列和temp,那么对于每一个当前的值num[i],我们当前的最大子序列和为max(temp+num[i],num[i])。

完整题解代码为:

class Solution {public:int maxSubArray(vector<int>& nums) {int temp = 0, maxAns = nums[0],length = nums.size();for (int i = 0 ; i < length; i++) {temp = max(temp + nums[i], nums[i]);maxAns = max(maxAns, temp);}return maxAns;}
};

执行效率


  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!

博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客

LeetCode 53. 最大子序和 动态规划相关推荐

  1. leetcode 53. 最大子序和 动态规划解法、贪心法以及二分法

    题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子 ...

  2. 51 -算法 -LeetCode 53最大子序和 动态规划

    //版本1 动态规划保存当前状态 版本class Solution {public:int maxSubArray(vector<int>& nums) {int dp[30001 ...

  3. LeetCode 53.最大子序和(动态规划)

    题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: ...

  4. leetcode - 53. 最大子序和

    53. 最大子序和 - 动态规划 -------------------------------------- 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素), ...

  5. leetcode - 53. 最大子序和 152. 乘积最大子序列 - 两个算法之间的联系和区别

    这两道算法题的解题思路是差不多的,但是从整体上分析,乘积最大子序列之和是最大子序和的进阶.先来看看两道算法题的简单描述. 53.最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组 ...

  6. LeetCode 53. 最大子序和(动态规划)

    文章目录 1. 题目描述 2. 解题 2.1 暴力求解 2.2 动态规划 1. 题目描述 题目链接:https://leetcode-cn.com/problems/maximum-subarray/ ...

  7. LeetCode 53最大子序和

    力扣 思路: 「连续」是关键字,连续很重要,不是子序列. 动态规划 详细解答请参考力扣 定义dp数组:        dp [i] 表示以nums[i]结尾的最大连续子数组的和 状态转移方程:    ...

  8. leetcode 53.最大子序和

    难度:简单 频率:159 题目 给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 解题思路 :动态规划(贪心) 解题方法: 1.对数组进行遍历 2.有 ...

  9. LeetCode 53:最大子序和解题以及优化思路(第一次独立刷题记录)

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 ...

  10. 114. Leetcode 53. 最大子数组和 (动态规划-子序列问题)

    步骤一.确定状态: 确定dp数组及下标含义 dp[i]:包括下标i之前的最大连续子序列和为dp[i]. 步骤二.推断状态方程: dp[i]只有两个方向可以推出来: dp[i - 1] + nums[i ...

最新文章

  1. 数据分析进阶 数据质量
  2. QT的QHistoryState类的使用
  3. solr从pdf、office文档中建立索引
  4. python中for循环和while循环的区别_python中while循环和for循环的定义和详细的使用方法...
  5. ASP.NET提取多层嵌套json数据的方法
  6. linux pdm 查看工具,linux系统监控工具
  7. React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块...
  8. python 对象转dict_python model对象转为dict数据
  9. Ubuntu 在线升级linux 内核的方法
  10. declspec(dllexport)和declspec(dllexport)的实际应用
  11. Windows7安装教程
  12. 2022年股票估值法研究报告
  13. 一分钟了解:NMN的副作用和危害?nmn对人体有害吗?
  14. 用python做梦幻手游刷宝图脚本
  15. markdown中修改图片大小
  16. 北京智和信通受邀出席2022IT运维大会,荣获“2022智能运维星耀榜最具影响力企业”
  17. 2021 年度程序员收入报告:字节跳动排名全球第 5!
  18. 春藤家长学院简易产品分析及用户分析、K12教育市场分析
  19. python取列表中位数_详解Python如何获取列表(List)的中位数
  20. 世态炎凉,冷暖自知-一名某易公司员工自述的裁员经历

热门文章

  1. linux调整tmp目录,linux – 如何将默认/ tmp更改为/ home / user / tmp
  2. C++/C输出素数,满某个数就换行
  3. Layui 表单设计器
  4. 中国计算机大会CNCC【笔记】
  5. 闭环系统零、极点位置对时间响应性能指标的影响
  6. d3.js学习笔记(5)drag拖拽操作数据
  7. 各种器件的灵敏度、精度、分辨率的区别
  8. python运行按钮灰色_点击后,tkinter菜单按钮变灰了
  9. 测试小兵成长记:中庸之道
  10. Android关于libs,jniLibs库的基本使用说明及冲突解决