1. 最长公共子序列
    给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。

一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。

例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。
两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。
示例 1:

输入:text1 = “abcde”, text2 = “ace”
输出:3
解释:最长公共子序列是 “ace” ,它的长度为 3 。

题解:动态规划
ACcode:

class Solution {public int longestCommonSubsequence(String text1, String text2) {int n=text1.length();int m=text2.length();int dp[][]=new int[1000][1000];for (int i = 0; i <n ; i++) {for (int j = 0; j <m ; j++) {if (text1.charAt(i)==text2.charAt(j)){dp[i+1][j+1]=dp[i][j]+1;}else{dp[i+1][j+1]=Math.max(dp[i][j+1],dp[i+1][j]);}}}return dp[n][m];}
}

lcs leetcode1143 dp相关推荐

  1. [XSY] 宝藏(LCS,DP)

    宝藏 首先,这个问题等价于给定两个字符串S,T ,每次询问LCS(S[1,n],T[x,y])LCS(S[1,n],T[x,y])LCS(S[1,n],T[x,y]). 对每个询问重新求一遍LCSLC ...

  2. 51NOD 1006 最长公共子序列 Lcs 动态规划 DP 模板题 板子

    给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). 比如两个串为: abcicba abdkscab ab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最 ...

  3. (字符串)最长公共子序列(Longest-Common-Subsequence,LCS)

    问题: 最长公共子序列就是寻找两个给定序列的子序列,该子序列在两个序列中以相同的顺序出现,但是不必要是连续的. 例如序列X=ABCBDAB,Y=BDCABA.序列BCA是X和Y的一个公共子序列,但是不 ...

  4. POJ 1159 Palindrome(字符串变回文:LCS)

    POJ 1159 Palindrome(字符串变回文:LCS) http://poj.org/problem? id=1159 题意: 给你一个字符串, 问你做少须要在该字符串中插入几个字符能是的它变 ...

  5. dp打开思路4:POJ1189 UVA12511 HDU2845 HBCPC K

    POJ1189 http://poj.org/problem?id=1189 怎么说呢,不算难,但是容易出问题 我一开始的思路是,第一个钉子只有一种情况,然后下面每个钉子:左边有钉子就加左边的情况数, ...

  6. POJ 1159 - Palindrome 优化空间LCS

    将原串和其逆序串的最长公共子序列求出来为M..那么2*n-M就是所需要加的最少字符..因为求出的M就是指的原串中"潜伏"的最长回文.. 问题转化为求LCS..但是n最大到5000. ...

  7. 动态规划(dp)总结

    问题 T: [动态规划]质数和分解 题目描述 任何大于1的自然数n,都可以写成若干个大于等于2且小于等于n的质数之和的形式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式.例如9 ...

  8. BZOJ 3864: Hero meet devil (从dp性质实现dp套dp)

    题意:求长度为m的,字符集大小为4的,字符串,中,与字符串S(|S|<=15)的最长公共子序列长度=i的字符串数量.i∈0→∣S∣i \ \in 0 \to |S|i ∈0→∣S∣ 发现这个状态 ...

  9. hdu4899 dp套dp

    题意:只含字母ATGC,  给定一个S串,长度小于等于15,构造满足LCS(S,T)=X的T串,求这样的T串的个数,0<=X<=|S| 网上有一堆题解,但大多数都讲得根本让人无法理解 以下 ...

最新文章

  1. 如何建设数据安全体系?
  2. SQL SERVER 2008 利用发布订阅方式实现数据库同步
  3. 350. Intersection of Two Arrays II 两个数组的交集 II
  4. mysql如何快速插入一千万条数据_如何快速安全的插入千万条数据?
  5. spring解密_在运行时更新代码(已Spring解密)
  6. Python 操作 PDF 的几种方法
  7. window10设置文件夹备注
  8. java实现5 4 3 2 1递归_递归及递归的使用
  9. HCIP 2020 8月 自考题库全解析附题库2种版本+练习软件
  10. 华为交换机冗余链路(VRRP)和vlan负载均衡
  11. OTA 差分升级包的制作
  12. 正面管教:不凶不吼教出好孩子读后感
  13. 北京16个山水美景| 清明小长假走起吧!
  14. C8051F C2/JTAG接口
  15. C#获取汉子对应的拼音(首字母大写或小写,全拼音含首个字母大写)
  16. Learn Computer Vision-计算机视觉学习
  17. MHT: Basic Methods for Data Association(二)Track Score Function
  18. QT中QPrinter打印功能
  19. python经典面试题100例 面试宝典
  20. 现场直击 | 沈阳新技术交流会,实景三维再“出圈”

热门文章

  1. 《Long-Term Temporal Convolutions for Action Recognition》 论文翻译
  2. 公司、企业网站设计如何选择?
  3. CAPI 初探及使用小结(2)
  4. 数据分析--ABtest
  5. 用C++写一个简单的种萝卜小游戏
  6. 河南省html5画布,HTML5之画布Canvas
  7. 如何使用您的Amazon Echo给朋友打电话和发消息
  8. 斯科特.杨《如何高效学习》
  9. CentOS7.8忘记密码后如何重置
  10. C语言 —— 嵌套循环语句的用法