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

做积分网站晚上免费b站软件

做积分网站,晚上免费b站软件,做360手机网站首页,外贸响应式网站建设理解最长递增子序列(LIS)是解决该问题的关键。子序列是从给定数组中按顺序选取的元素序列,例如数组 [1, 2, 3, 4, 5] 的子序列可以是 [2, 3, 4]。需要注意的是,子序列的元素在原数组中不一定是连续的。因此,最长递增子…

        理解最长递增子序列(LIS)是解决该问题的关键。子序列是从给定数组中按顺序选取的元素序列,例如数组 [1, 2, 3, 4, 5] 的子序列可以是 [2, 3, 4]。需要注意的是,子序列的元素在原数组中不一定是连续的。因此,最长递增子序列就是在所有可能的递增子序列中,找出长度最长的那个。

        本题是一个典型的动态规划问题,我们可以通过定义状态和状态转移方程来解决:

状态定义: dp[i] 表示以第 i 个元素为结尾的最长递增子序列的长度。

状态转移方程: 根据递增的定义,如果当前元素 nums[i] 大于之前的某个元素 nums[j],那么 dp[i] 可以由 dp[j] 转移而来,即 dp[i] = max(dp[j] + 1, dp[i])

边界条件: 每个元素本身就是一个长度为 1 的递增子序列,因此 dp[i] 的初始值应设为 1。

        此外,由于最长递增子序列可能以任意元素结尾,因此在计算过程中需要维护 dp 数组的最大值作为最终结果。

        代码

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

        时间复杂度:O(n^2)

        空间复杂度:O(n)

http://www.dtcms.com/wzjs/362476.html

相关文章:

  • 郑州企业网站优化哪家便宜b站推广网站入口mmm
  • 如何挑选网站主机网络工具
  • 做网站的多钱网页设计主题推荐
  • 赌博网站怎么建设手游推广代理平台有哪些
  • 推广普通话喜迎十二大手抄报南宁关键词优化公司
  • 庆阳房屋买卖网重庆seo网站系统
  • 青岛企业网站建设优化百度权重4网站值多少钱
  • wordpress建站事项成都网站建设seo
  • 杭州做网站外包公司有哪些福州短视频seo网红
  • 免费入驻的外贸网站百度关键词网站排名优化软件
  • 洛阳市住房和城乡建设委员会网站6武汉网站设计公司
  • .net网站搭建百度收录入口
  • 示范校建设专题网站哪个软件可以自动排名
  • 福州建设网站河北seo推广公司
  • 英文网站建设jsurl转码
  • 网站建设方案撰写唐山seo优化
  • 中国建设银行官网站纪念币预约百度搜索的优势
  • html 网站发布seo技术教程博客
  • 一级做爰A视频免费网站兰州网络推广技术
  • b2b平台网站源码免费智能seo收录工具
  • 企业管理咨询公司靠谱吗天津优化网络公司的建议
  • 做驾考学时在哪个网站深圳有实力的seo公司
  • 张家港做网站哪家好广告网站留电话
  • c# 网站开发实例教程长春seo排名扣费
  • 上海网站建设公司 1861web优化师
  • 石家庄建设路网站武汉seo搜索优化
  • wordpress商城主题 原创seo发帖软件
  • 网站开发与设计开题报告友情链接交换
  • 仙桃做网站技术培训机构
  • 查备案网站网站设计费用明细