三种寻找最长递增(减)子序列的方法【LIS】

2023-11-15

最长递增(减)子序列【LIS】三种解法

问题:

给定一个序列data[]={1, 6, 2, 5, 7, 9}求出他的的最长递增子序列,容易看出为{1, 2, 5, 7, 9},长度为5.同时这种问题还有一些衍生问法如:最长非递增(减)增子序列,最长递减子序列等解法都是一样的理解后改变一下条件就行了。

解法一:动态规划法(O(n^2))

动态规划法需要一个数组来保存每一个元素前LIS的长度,设长度为N的序列为{a0,a1, a2, …an-1),则假定以aj结尾的数组序列的LIS长度为L(j),则状态转移方程为:

l[i]={   l[j]+1 if l[j]<l[i]&&Xj<Xi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

三种寻找最长递增(减)子序列的方法【LIS】 的相关文章

随机推荐

  • 2PSK相干解调电路设计SystemView仿真

    PSK 二进制移相键控方式 是键控的载波相位按基带脉冲序列的规律而改变的一种数字调制方式 就是根据数字基带信号的两个电平 或符号 使载波相位在两个不同的数值之间切换的一种相位调制方法 两个载波相位通常相差180度 此时称为反向键控 PSK
  • Linux下的文件编辑实验

    实验内容 掌握文件管理的一些基本命令 head tail grep cp useradd groupadd passwd gpasswd tar 实验内容 1 查看 etc passwd文件的第18 20行内容 并将找到的内容存储至 hom
  • SM2公钥加密

    文章目录 简介 推荐参数 1 前置条件 1 1 点到字符串的转换 压缩 未压缩 混合形式 1 2 密钥派生函数 6 加解密 加密流程 解密流程 实现 参考资料 简介 国密SM2算法并不仅仅是提供了新的曲线参数 而是在算法上对ECC进行了修改
  • 【Linux】【chatGLM-6B】如何从huggingface上下载chatGLM-6B模型于centos系统

    文章目录 一 centos7安装git lfs 1 下载安装包上传到服务器 2 上传服务器并解压 3 安装 二 模型下载 一 centos7安装git lfs 1 下载安装包上传到服务器 从https github com git lfs
  • 松赞干布鎏金铜像

    本文转至 http www hnmuseum com hnmuseum whatson Tibet treasures2 treasure4 p1 html 此尊金铜像面容英俊年轻 器宇轩昂 双手结禅定印 结跏趺坐于圆鼓的蒲团上 发梳三辫
  • ros 中ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdist

    ros 中ERROR cannot download default sources list from https raw githubusercontent com ros rosdistro master rosdep sources
  • 深入浅出 Java Concurrency (J.U.C)

    深入浅出 Java Concurrency J U C 转载 1 http www blogjava net xylz archive 2010 06 30 324915 html http www blogjava net xylz ar
  • settings.xml详解

    介绍 概述 settings xml文件中的
  • linux下面的解压缩文件的命令

    尝试去好好用linux 新手起步 这边只会提到我用过的 其他相关的以后我用到了我会补充的 如果有错欢迎指正 注 1 c 创建 create 2 v 复杂输出 3 f 文件 file 4 x 解压 extract 5 z gz格式 66666
  • Red Hat Enterprise Linux 6安装samba服务

    samba实现Windows主机与Linux服务器之间的资源共享 1 查看默认安装的samba程序包 root localhost etc rpm qa grep samba samba winbind clients 3 5 4 68 e
  • 使用automake准备编译 的步骤

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 使用automake准备编译 的步骤 安装好 automake 后 klaus ubuntu mnt hgfs Lane Lane automake configure i
  • Linux 时间、时区设置

    Linux 时间 时区设置 CentOS 7 Chrony https chrony tuxfamily org index html https www cnblogs com zydev p 15688530 html CentOS 6
  • CloudCompare——平面点云边界提取与凸包计算

    目录 1 概述 2 操作流程 3 完整操作 4 相关代码 1 概述 CloudCompare中的 Tools gt Fit gt 2D Polygon facet 功能是用来对点云进行多边形轮廓边界提取以及凸包计算的 算法的实现流程 首先对
  • 【Spring面试】十、SpringBoot相关

    文章目录 Q1 谈谈对SpringBoot的理解 它有哪些特性 Q2 Spring和SpringBoot的关系和区别是什么 Q3 SpringBoot的核心注解 Q4 SpringBoot的自动配置原理 Q5 为什么SpringBoot的j
  • ENOENT: no such file or directory

    问题 ENOENT no such file or directory open c Users Administrator Desktop E4 B9 A6 Vite E6 89 93 E5 8C 85 E5 B7 A5 E5 85 B7
  • vue指令大全 不定时更新

    最近在学vue 看到大佬的文章 在此基础上以后不定时补充我认为有用的 附上大佬地址 作者 klmhly 链接 https www jianshu com p c4a87e1b4ef7 1 v text v text主要用来更新textCon
  • 【maven】maven编译版本和jdk 版本?

    下午更新代码的时候 报了如下问题 当时很奇怪 第一感觉 jdk出现了问题 但是确认了很多次 jdk没有问题 然后去小何那里 发现更新代码之后 出现了同样的问题 反馈给架构组 才发现 原来是maven插件编译的版本由原来的1 7被修改成为了1
  • 通过地图API实现地图数据的可视化

    通过地图API实现地图数据的可视化 地图数据的可视化指的是将地图上的各种数据通过可视化方式展示出来 使得数据更加直观易懂 在现代社会中 地图数据的可视化已经不再是一个新概念 它已经被广泛应用于各个领域 如交通规划 城市管理 医疗 环境保护等
  • 走进BLAS/LAPACK(2)--blas

    reference blas 任何事情都要讲究方式方法 只要思路和方法是对的 会有事半功倍之效 反之则会事倍功半 我刚开始想要弄明白blas和lapack的使用方法 在百度和谷歌上搜索了很多文章 可是还是不得门而入 看到有人在测试函数中直接
  • 三种寻找最长递增(减)子序列的方法【LIS】

    最长递增 减 子序列 LIS 三种解法 问题 给定一个序列data 1 6 2 5 7 9 求出他的的最长递增子序列 容易看出为 1 2 5 7 9 长度为5 同时这种问题还有一些衍生问法如 最长非递增 减 增子序列 最长递减子序列等解法都