c 最大子序列和_算法总结:左神class8—跳台阶+最长递增公共子序列

【跳台阶】有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法?

baa4ac4471ac85b6ea1cfa125ed1a3cd.png

public int s1(int n){  if (n< 1){  return 0;  if(n == 1 || n== 2){   return n;   return s1(n - 1) +s1(n - 2);}

2b4d40ba736292bbdec4a5f13e71837b.png

【最长递增子序列长度】给定数组arr,返回arr的最长递增子序列长度。比如arr=[2,1,5,3,6,4,8,9,7],最长递增子序列为[1,3,4,8,9],所以返回这个子序列的长度5。给定数组arr,返回arr的最长递增子序列长度。比如arr=[2,1,5,3,6,4,8,9,7],最长递增子序列为[1,3,4,8,9],所以返回这个子序列的长度5。

【解】先生成长度为5的数组dp,dp[i]表示在必须以arr[i]这个数结尾的情况下,arr[0..i]中的最大递增子序列长度。

68a9339cab897573f1c9ba8a3a5c6aca.png

arr[0]时,第一个最大递增子序列只有自己dp[0]=1;

接下来从左到右依次算出每个位置的数结尾的情况下最长递增子序列的长度。假设计算到位置i,求以i结尾的最长递增子序列长度,也就是dp[i]的值;如果最长递增子序列长度必须以arr[i]结尾,那么在arr[0……i-1]中所有比arr[i]小的数均可作为倒数第二个数,在这些数中,以哪个结尾的最长递增子序列长度最大选哪个作为倒数的第二个数;,故状态方程为arr[0……i-1]中所有数都不比arr[i]小,另dp[i]=1即可;说明必须以arr[i]结尾的最大递增子序列只包含arr[i]。

5eb6df0c69d277e4448f0b7e4dfb10e0.png

845d5bbeb05becf336dc4d188cc7fb05.png

bcb046db4ca5d7bf56ebbd89273423d7.png

【最长公共子序列】给定两个字符串str1和str2,返回两个字符串的最长公共子序列。例如,str1="1A2C3D4B56"str2="B1D23CA45B6A”,”123456"或者"12C4B6"都是最长公共子序列,返回哪一个都行。

假设str1的长度为M, str2的长度为N,生成大小为M*N的矩阵dp.dp[i][j]的含义是str1[0..i]与str2[0..j]的最长公共子序列的长度。

dp求法如下:

        1、矩阵dp第一列,即dp[i][0],代表str1[0..i]与str2[0]的最长公共子序列长度。str2[0]只有一个字符,所以dp[i][o]最大为1。

如果str1[i]==str2[0],则令dp[i][0]为1一旦dp[i][0]被设为1,则令dp[i+i..M][0]全部为1

    2、矩阵dp第一行,即dp[0][j],与步骤1同理。如果stri[0]==str2[j],则令dp[0][j]为1,一且dp[0][j]被设为1,则令dp[0][j+1..N]全部为1

    3、其他位置,dp[i][jl的值只可能来自以下三种情况∶

    情况1∶可能是dp[i-1][j]的值。这代表str1[0..i-1]与str2[0..j]的最长公共子序列长度。

    举例:str1="A1BC2",str2="AB34C".

str1[0..3]为”A1BC",str2[0..4]为”AB34C”,这两部分最长公共子序列为“ABC”,即dp[3][4]为3。str1整体和str2整体最长公共子序列也是"ABC”,所以dp[4][4]可能来自dp[3][4]。

    情况2∶同理可知,dp[i][]的值也可能是dp[i][j-1]。

    情况3:如果str1[i]==str2[j],还可能是dp[i-1][j-1]+1的值。

    举例:比如str1="ABCD" ,str2="ABCD" .str1[0..2]即”ABC"与str2[0..2]即"ABC"的最长公共子序列为"ABC”,也就是dp[2][2]为3。因为str1和str2的最后一个字符都是”D”,所以dp[i][j]=dp[i-1][j-1]+1。

三种可能的值中,选最大值作为dp[i][j]的值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转载]dynamic的小坑--RuntimeBinderException:“object”未包含“xxx”的定义

创建一个控制台项目和一个类库项目, 在类库中创建一个匿名对象&#xff0c;然后在控制台中访问它&#xff0c;代码如下&#xff1a; 控制台: namespace ConsoleApplication1 {class Program{static void Main(string[] args){dynamic dyc ClassLibrary1.TestClass.Test();Cons…

mysql 触发器 定时触发_mysql 触发器和存储过程组合使用,实现定时触发操作

mysql可以实现定时触发功能&#xff0c;比如说定于某某时间mysql数据库做什么工作&#xff0c;或每隔多长时间做什么工作。第二种情况应用还是比较广的&#xff0c;比如说我希望每天检查一下我的数据信息&#xff0c;超过一个月的无用信息清除以腾出空间供其他存储数据使用&…

第5篇K8S创建资源的两种方式

一、创建方式分类&#xff1a;命令 vs 配置文件Kubernetes 支持两种方式创建资源&#xff1a;1.用 kubectl 命令直接创建&#xff0c;比如&#xff1a;kubectl run httpd-app --imagereg.yunwei.edu/learn/httpd:latest --replicas2在命令行中通过参数指定资源的属性。2. 通过配…

javascript 传多个参数的正则表达式(用来获取某个参数值)

例子: //javascript传参数(多个)var url "B.aspx?txtA"document.getElementById("txtName").value; url "&txtB"document.getElementById("txtAge").value; window.open(url,xWindow,width640,height400,statusno,toolbarno,men…

bind安装配置以及应用

实验环境&#xff1a;两台centos6.6服务器&#xff0c;主DNS服务器IP为172.26.249.29&#xff0c;从DNS服务器IP为172.16.249.98&#xff0c;解析域名为stu07.com一、主DNS服务器搭建1、 检查系统是否安装bind包&#xff0c;否则用yum安装2、安装好bind包后&#xff0c;编辑主…

mysql英文介绍_每日科技英文48: MySQL C API简介

今日要点:MySQL C API的定义MySQL C API包含的内容如何获取MySQL C API什么是库(library)的解释windows版外带调试库JDBC,ODBC,ADO,PDO....&#xff0c;每门语言都有各自的数据链接库。如果写服务器的话&#xff0c;肯定是经常使用。如果对于Mysql数据库来说&#xff0c;不管是…

收藏属于自己flash类库集工具

这一篇是临时的笔录&#xff0c;我们知道as3 是面向对象的语言&#xff0c;这种语言能够方便的封装好一些类&#xff0c;重用性得到加强。每一个人都有一套绝活&#xff0c;这些绝活就像武林当中每一派的武学那样。在平时的工作使用上&#xff0c;收集这些工具能够方便自己工作…

ADT Running Android Lint has encountered a problem

解决办法&#xff1a; Window--->Preferences----->Android--------> LInt Error Checking----->when saving files, check for errors 。去掉勾选 如果此方法还行不通&#xff0c;可能是你系统是64位的&#xff0c;但是安装的却是32位的eclipse&#xff01; 重装个…

mysql数据库 常用函数_《MySQL数据库》常用函数整理

原标题&#xff1a;《MySQL数据库》常用函数整理以下内容&#xff0c;是我整理出来的比较常用的字符串函数&#xff0c;数值函数&#xff0c;日期函数。第一类&#xff1a;字符串函数1、conv(n,from_base,to_base):对from_base进制的数n,转成to_base进制的表示方式(PS:进制范围…

生产计划到底该怎样改进?这6点帮你节省至少60%的计划时间

生产计划贯穿了价值创造的全过程&#xff1a;从概念到投产的设计过程、从订货到送货的信息流通处理过程、从原材料到产成品的物质转换过程以及全生命周期的支持和服务过程&#xff0c;涉及每一个部门&#xff0c;每一个人。 生产计划管理就是计划调动一切资源&#xff0c;快速、…

关于“收获”啰嗦几句。

桌子上有一水杯&#xff0c;杯子里有半杯水。 甲看到了说&#xff1a;太好了&#xff0c;还有半杯水。 乙看到了说&#xff1a;只有半杯水了。 从另一个角度说&#xff0c;甲关注的是“水”&#xff0c;而乙关注的是“空气”即水面到杯子口的那段空间。 收获到了&#xff0c;那…

Linux下安装搭建Memcached集群环境

由于项目需要&#xff0c;需要搭建memcached集群环境&#xff0c;遂开始调研相关技术网络上有不少linux下安装memcached的教程&#xff0c;对于我这个linux零基础的来说&#xff0c;想立马在linux下安装memcached&#xff0c;似乎还是有点阻碍。参照了不少网络教程&#xff0c;…

mysql 连接数测试_mysql最大连接数试验

一、试验基础环境配置1、查看当前数据库的最大连接数mysql> show global variables like %connect%;-------------------------------------------| Variable_name | Value |-------------------------------------------| character_set_connection | utf8 || collation_co…

深入信号和槽(Signals and Slots in Depth)

1、一个信号可以连接到多个槽&#xff1a;connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int)));connect(slider, SIGNAL(valueChanged(int)),this,SLOT(updateStatusBarIndicator(int)));当信号发出后&#xff0c;槽函数都会被调用&#xff0c;但是调用的…

10个机器学习人工智能开发框架和AI库(优缺点对比表)/贪心学院

概述 通过本文我们来一起看一些用于人工智能的高质量AI库&#xff0c;它们的优点和缺点&#xff0c;以及它们的一些特点。 人工智能&#xff08;AI&#xff09;已经存在很长时间了。然而&#xff0c;由于这一领域的巨大进步&#xff0c;近年来它已成为一个流行语。人工智能曾经…

大数据时代的数据存储,非关系型数据库MongoDB(一)(转)

出处&#xff1a;http://www.cnblogs.com/mokafamily/p/4076954.html 爆炸式发展的NoSQL技术 在过去的很长一段时间中&#xff0c;关系型数据库&#xff08;Relational Database Management System&#xff09;一直是最主流的数据库解决方案&#xff0c;他运用真实世界中事物与…

mysql集群初始化配置_集群Cluster MySQL的安装配置和使用

集群Cluster MySQL的安装配置和使用发布时间&#xff1a;2020-05-28 14:20:03来源&#xff1a;亿速云阅读&#xff1a;233作者&#xff1a;鸽子MySQL Cluster MySQL集群基本概念&#xff1a;“NDB” 是一种“内存中”的存储引擎&#xff0c;它具有可用性高和数据一致性好的特点…

在一个类型的继承体系中,成员的构造顺序

先看代码&#xff0c;写出结果 class A { public A() { PrintFields(); } public virtual void PrintFields(){} } class B:A { int x1; int y; public B…

IntelliJ IDEA+Mysql connecter/j JDBC驱动连接

在IntelliJ IDEA中用connecter/j jdbc驱动连接MYSQL 以下是解决过程&#xff0c;待整合。。。有点懒&#xff0c;有空再改 官方文档&#xff1a;https://www.cnblogs.com/cn-chy-com/p/10145690.html 创建了mysql新用户&#xff1a;https://blog.csdn.net/weixin_38091140/arti…

成长的路上,痛并快乐着

异地求学七年&#xff0c;从地图的的西北部跨越到地图的南部。一路行走着&#xff0c;一路成长着&#xff0c;有痛&#xff0c;有快乐。或许&#xff0c;痛并快乐着也是一种生活的姿态。或许&#xff0c;有过痛的青春才深刻&#xff0c;而深刻的背后即是思考、理解、包容与成熟…