前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动态规划之最大子数组和问题

动态规划之最大子数组和问题

作者头像
用户11173787
发布2024-06-24 11:15:54
890
发布2024-06-24 11:15:54
举报
文章被收录于专栏:破晓

一.题目解析

题目本身很容易看明白,简单来说就是求最大值,求什么最大值呢?求子数组的最大值

二.讲解算法原理

1.状态表示

我们以往的状态表示就是根据两点1.经验,2题目要求

我们通常以一个位置结尾来研究问题,所以,这次我们还是这样做。

创建一个dp表,dp[i]表示以i位置为结尾的子数组的最大值。

2.状态转移方程

如图所示,假设i就在此位置,在所有的子数组中,大概分为两类,一种是长度大于1,一种是长度为1。

所以,仔细观察,我们不难发现

3.初始化

我们看,当i=0时,i-1=-1,就会越界,没法整,所以我们可以先将nums[0]初始化出来。

4.填表顺序

由大到小依次填表

5.返回值

返回dp[i]。

三.代码实现

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.题目解析
  • 二.讲解算法原理
    • 1.状态表示
      • 2.状态转移方程
        • 3.初始化
          • 4.填表顺序
            • 5.返回值
            • 三.代码实现
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档