当前位置: 首页 > news >正文

网站举报平台12315杏坛网站设计

网站举报平台12315,杏坛网站设计,网站优化的主要内容,网页设计企业网站设计的功能目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…

目录

动态规划怎么学?

1. 题目解析

2. 算法原理

1. 状态表示

2. 状态转移方程

3. 初始化

4. 填表顺序

5. 返回值

3. 代码编写

写在最后:


动态规划怎么学?

学习一个算法没有捷径,更何况是学习动态规划,

跟我一起刷动态规划算法题,一起学会动态规划!

1. 题目解析

题目链接:300. 最长递增子序列 - 力扣(LeetCode) 

这道题目题如其名,就是找出最长的递增子序列,然后返回长度,

但是我们需要明确的是,什么是子序列,什么是子数组,一定要分清楚,

子数组必须要连续的,

而子序列不需要连续的,我们可以通过示例一来感受,

只要是在这个数组区间里的元素,是递增的,可以跳着选择,

总结来讲就是:子序列是可以在一个区间跳着选择的,也就是可以使不连续的。

2. 算法原理

1. 状态表示

dp[ i ] 表示以 i 位置结尾的所有子序列中,最长递增子序列的长度。

2. 状态转移方程

我们可以分成两种情况,

第一种情况是 i 位置自己作为一个子序列,那长度就是 1

第二种情况是 i 位置和前面任意一个位置构成子序列,我们把大于等于 0 小于 i 的这个位置设为 j

因为题目要求的是递增,所以需要 nums[ j ] < nums[ i ],等于 dp[ j ] + 1,

而 j 有很多种情况,所以就是求 0 <= j <= i - 1 位置 dp[ j ] 的最大值。

3. 初始化

我们可以把表初始化成 1 ,这样我们就可以只考虑第二种情况了。

4. 填表顺序

从左往右。

5. 返回值

返回 dp 表里的最大值即可。

3. 代码编写

class Solution {
public:int lengthOfLIS(vector<int>& nums) {int n = nums.size();vector<int> dp(n, 1);for(int i = 1; i < n; i++) for(int j = 0; j < i; j++) if(nums[j] < nums[i]) dp[i] = max(dp[j] + 1, dp[i]);int ans = INT_MIN;for(auto e : dp) ans = max(ans, e);return ans;}
};

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

http://www.yayakq.cn/news/257945/

相关文章:

  • 开发网站公司价格手机自己做网站吗
  • 深圳制作手机网站网站设计有哪些语言版本
  • 宁波做网站哪家好竞价代运营厂家
  • 网站开发环境配置工业设备网站源码
  • 下载黑龙江建设网官网网站做网站的教程
  • 建材网站模板还有网站吗
  • 动图在线制作网站做数据表格的网站
  • 如何提升网站的转化率百度推广渠道户
  • 自己做网站推广关键词网站首页代码怎么写
  • ui网站建设天眼查企业查询入口官网
  • 如何做自适应网站百度联盟网站一定要备案吗
  • 织梦一键更新网站论坛网站开发文档
  • php网站建设程序wordpress 头部
  • 公司网站制作的费用做网站的的广告词
  • 熊岳网站在哪做网页制作需要学什么技术
  • 建站优化信息推广网站建设哪儿好
  • 做网站有什么意义ui设计是什么东西
  • 漂亮的logo设计图片南宁网站建设优化
  • 怎么查看自己网站有没有做301建设厅焊工证查询官网
  • 怎么利用网站上的图片中国商机创业网
  • 游戏网站策划最新军事
  • 简洁大方的网站首页河北网站建设电话
  • 做易经网站三亚网站优化
  • 一起做英语作业网站网站开发商务合同
  • 申请完域名怎么做网站网站模板中企动力
  • 视频网站超链接怎么做qq群文件wordpress
  • 潍坊网站建设优化wordpress user role
  • 江西网站做的好的企业网站建设完成确认函
  • 京东app下载安装官网免费下载seo自动推广软件
  • 网站上传该怎么做做logo的ppt模板下载网站