ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

53.最大子数组和

2022-03-20 12:33:05  阅读:121  来源: 互联网

标签:最大 53 问题 连续 数组 多少 定义


53. 最大子数组和

参考:(31条消息) LeetCode.53 最大子序和(python解法)_双皮奶呀的博客-CSDN博客

经典动态规划问题(理解「无后效性」) - 最大子数组和 - 力扣(LeetCode) (leetcode-cn.com)

 

方法一:动态规划

动态规划思想:通过解决一个一个简单的问题,进而把简单的问题的解组成了复杂问题的解。

本题的重点在于:

       1.理解题意 

       2.如何定义子问题(如何定义状态)

关键1:理解题意

      找出和最大的连续子数组的值,连续是关键

关键2:如何定义子问题(如何定义状态)

设计状态思路:把不确定 的因素确定下来,进而把子问题定义清楚,把子问题定义得简单。动态规划的思想通过解决一个一个简单的问题,进而把简单的问题的解组成了复杂问题的解。

我们不确定和最大的连续子数组一定会选那一个数,那么我们可以求出所有经过输入数组的某一个数的连续子数组的最大和。

例如:实例1输入数组是[-2,1,-3,4,-1,2,1,-5,4],我们可以求出以下子问题:

  • 子问题1:经过-2的连续子数组的最大和是多少
  • 子问题2:经过1的连续子数组的最大和是多少
  • 子问题3:经过-3的连续子数组的最大和是多少
  • 子问题4:经过4的连续子数组的最大和是多少
  • 子问题5:经过-1的连续子数组的最大和是多少
  • 子问题6:经过2的连续子数组的最大和是多少
  • 子问题7:经过1的连续子数组的最大和是多少
  • 子问题8:经过-5的连续子数组的最大和是多少
  • 子问题9:经过4的连续子数组的最大个是多少

例如子问题3:我们不确定的是:-3是连续子数组的第几个元素。那我们就把-3定义成连续子数组的最后一个元素。

在新的定义下,我们列出子问题如下:

  1. 以-2结尾的连续子数组的最大和是多少
  2. 以1结尾的连续子数组的最大和是多少
  3. 以-3结尾的连续子数组的最大和是多少
  4. 以4结尾的连续子数组的最大和是多少

........

加上了【结尾】之后,各个子问题之间就有了关联,标号为i的子问题的结果是<=0,那么编号为i+1的子问题就可以把编号为i的子问题的结果舍弃掉

 

标签:最大,53,问题,连续,数组,多少,定义
来源: https://www.cnblogs.com/sqxiong/p/16029573.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有