超简单看明白如何求最长递增子序列-动态规划

超简单看明白如何求最长递增子序列-动态规划最长递增子序列:给定一个长度为N的数组,找出一个最长的单调递增子序列,子序列不一定连续,但初始顺序不能乱。例如:给定一个长度为6的数组A{4,5,7,1,3,9},则其最长的单调递增子序列为{4,5,7,9},长度为4。动态规划思路:记d[i]为以任意一个A[i]为末尾元素组成的最长递增子序列的长度,找出所有位于i之前且比A[i]小的元素A[j],此时可出现两种情况:…

大家好,又见面了,我是你们的朋友全栈君。

最长递增子序列:

给定一个长度为N的数组,找出一个最长的单调递增子序列,子序列不一定连续,但初始顺序不能乱。

例如:给定一个长度为6的数组A{4, 5, 7, 1,3, 9},则其最长的单调递增子序列为{4,5,7,9},长度为4。

动态规划思路:

记d[i]为以任意一个A[i]为末尾元素组成的最长递增子序列的长度,找出所有位于i之前且比A[i]小的元素A[j],此时可

出现两种情况:

(1)若找到,例如i = 2,此时A[i] = 7,比A[i]小的元素为A[0] = 4,A[1] = 5,取所有比A[i]小的元素中A[j]中,对应的d[j]最

大的加1,即d[i] = max{ d[j] },其中j < i 且 A[j] < A[i];

(2)若没有找到,例如i = 3,此时A[i] = 1,i之前不存在比1小的元素,此时A[3] = 1独自构成一个递增子序列,d[i] = 1。

实现过程:

当i = 0时,此时A[0] = 4,只

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131125.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm虚拟环境与本地环境区别_python如何激活虚拟环境

    pycharm虚拟环境与本地环境区别_python如何激活虚拟环境    Python的版本众多,在加上适用不同版本的PythonPackage。这导致在同时进行几个项目时,对库的依赖存在很大的问题。这个时候就牵涉到对Python以及依赖库的版本管理,方便进行开发,virtualenv就是用来解决这个问题的。下面介绍使用PyCharm创建VirtualEnvironment的方法。    PyCharm可以使用virtualenv中的功能来创建虚拟环境。Py…

    2022年8月25日
    8
  • 文件服务器 ldap,windows下搭建ldap服务器[通俗易懂]

    文件服务器 ldap,windows下搭建ldap服务器[通俗易懂]windows下搭建ldap服务器内容精选换一换当您发现云服务器的运行速度变慢或云服务器突然出现网络断开的情况,则可能是云服务器的带宽和CPU利用率过高导致。如果您已经通过云监控服务创建过告警任务,当CPU或带宽利用率高时,系统会自动发送告警给您。Windows云服务器带宽流量过高或CPU利用率高,您可以按如下步骤进行排查:问题定位:定位影响云服务器带宽和CPU利用率高的进程。Wind本文以云服…

    2022年5月15日
    63
  • 北京十大it外包公司

    北京十大it外包公司1.博朗软件Bleum(上海)2.中软国际(北京)3.东软集团Neusoft(沈阳)4.博彦科技BeyondSoft(北京)5.图灵方舟www.tlio.cn(河北)6.海辉软件HiSoft(大连)7.文思VanceInfo(北京)8.浙大网新Insigma(杭州)9.奥博杰天Objectiva(北京)10.浪潮Inspur(济南)…

    2022年6月10日
    123
  • get请求最大长度限制多少k_get请求大小限制多少

    get请求最大长度限制多少k_get请求大小限制多少原来:&lt;ahref="rejectedaddrmsginfo.jsp?sender=&lt;%=URLEncoder.encode(rec.getRejectedAddr())%&gt;&amp;senderType=&lt;%=senderType%&gt;&amp;receiverType=1target="_blank"&gt;Detail&lt;/a&gt;修改后:&a

    2022年8月24日
    7
  • t276芯片(芯片st是什么意思)

    ST7789V2是一个单芯片TFT-LCD驱动器。该芯片可以直接连接到外部MCU,支持并行8080系列的8位/9位/16位/18位接口,也支持SPI串行通讯接口。显示数据可以存储在240x320x18bits的片上显示数据RAM中。它可以在没有外部操作时钟的情况下执行显示数据RAM读写操作,以尽量减少功耗。并行接口占用外部MCU芯片引脚较多,但其通讯速率较快,一般只在需要高速刷新及MCU资源比较丰富的场合使用。SPI串行通讯接口占用MCU芯片引脚较少,通讯速率相对并行接口较慢,但因其占用MCU引脚.

    2022年4月9日
    159
  • 2021阿里笔试题

    2021阿里笔试题n个人,初始序号为a[i],当某个人的序号是某个整数的平方时,则获胜。现在发放一定数量的券,每张券可以是自己的序号加一或减一。求让一半的人获胜至少需要多少张券。//testali.cpp:定义控制台应用程序的入口点。//#include”stdafx.h”#include<math.h>#include<iostream>#include<math.h>#include<vector>#include<algori

    2022年5月23日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号