力扣1143. 最长公共子序列(dp)
给定两个字符串 text1
和 text2
,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0
。
一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。
- 例如,
"ace"
是"abcde"
的子序列,但"aec"
不是"abcde"
的子序列。
两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。
示例 1:
输入:text1 = "abcde", text2 = "ace"
输出:3
解释:最长公共子序列是 "ace" ,它的长度为 3 。
示例 2:
输入:text1 = "abc", text2 = "abc"
输出:3
解释:最长公共子序列是 "abc" ,它的长度为 3 。
示例 3:
输入:text1 = "abc", text2 = "def"
输出:0
解释:两个字符串没有公共子序列,返回 0 。
提示:
1 <= text1.length, text2.length <= 1000
text1
和text2
仅由小写英文字符组成。
1 class Solution {
2 public:
3 int dp[1005][1005]; //dp[i][j]表示text1[0~i]串与text2[0~j]串之间的最大公共子序列
4 int longestCommonSubsequence(string text1, string text2) {
5 memset(dp,0,sizeof(dp));
6 for (int i=1;i<=text1.size();++i) //为保证dp[i-1]时不越界,下标从1开始存取
7 for(int j=1;j<=text2.size();++j){
8 if (text1[i-1]==text2[j-1])
9 dp[i][j]=dp[i-1][j-1]+1;
10 else
11 dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
12 }
13 return dp[text1.size()][text2.size()];
14 }
15 };
力扣1143. 最长公共子序列(dp)的更多相关文章
- 1. 线性DP 1143. 最长公共子序列
最经典双串: 1143. 最长公共子序列 (LCS) https://leetcode-cn.com/problems/longest-common-subsequence/submissions/ ...
- [LeetCode每日一题]1143. 最长公共子序列
[LeetCode每日一题]1143. 最长公共子序列 问题 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . 一个字符串 ...
- LCS最长公共子序列~dp学习~4
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1513 Palindrome Time Limit: 4000/2000 MS (Java/Others ...
- POJ 1458 最长公共子序列(dp)
POJ 1458 最长公共子序列 题目大意:给出两个字符串,求出这样的一 个最长的公共子序列的长度:子序列 中的每个字符都能在两个原串中找到, 而且每个字符的先后顺序和原串中的 先后顺序一致. Sam ...
- 【BZOJ2423】[HAOI2010]最长公共子序列 DP
[BZOJ2423][HAOI2010]最长公共子序列 Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字 ...
- hdu 1159 Common Subsequence(最长公共子序列 DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 Common Subsequence Time Limit: 2000/1000 MS (Jav ...
- 最长公共子序列 DP
class Solution: def LCS(self,A,B): if not A or not B: #边界处理 return 0 dp = [[0 for _ in range(len(B)+ ...
- LeetCode 1143 最长公共子序列
链接:https://leetcode-cn.com/problems/longest-common-subsequence 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序 ...
- 38-最长公共子序列(dp)
最长公共子序列 https://www.nowcoder.com/practice/c996bbb77dd447d681ec6907ccfb488a?tpId=49&&tqId=293 ...
- bzoj3304[Shoi2005]带限制的最长公共子序列 DP
题意:给出三个序列,求出前两个的公共子序列,且包含第三个序列,要求长度最长. 这道题目怎么做呢,f[i][j]表示a串1-i,b串1-j的最长,g[i][j]表示a串i-n,b串j-m最长, 那么只需 ...
随机推荐
- JZOJ 5348. 【NOIP2017提高A组模拟9.5】心灵治愈
题目大意 求 \(b\) (正整数集合)使得 \(\sum_{i=1}^{n+1} a_i \times b_i = 1\) 其中给定 \(b_{n+1}=m\) 且为 \(b\) 中最大值 \(1 ...
- 任何人均可上手的数据库与API搭建平台
编写API可能对于很多后端开发人员来说,并不是什么难事儿,但如果您主要从事前端功能,那么可能还是有一些门槛. 那么有没有工具可以帮助我们降低编写API的学习门槛和复杂度呢? 今天就来给大家推荐一个不错 ...
- .Net 6 miniAPI
启动:1.双击 WebApplication1.exe文件 2.dotnet WebApplication1.dll --urls "http://localhost:5403;http ...
- Error in v-on handler: “TypeError: Cannot read properties of undefined (reading ‘resetFields‘)“
在做vue element 项目中,做了一个新增 打开弹框的功能,想每次点击新增的时候表单项重置.1.使用了this.$refs[formName].resetFields();2.但是报错了,原因是 ...
- 基于Vue3的Leaflet基础
1. 概述 Leaflet 是一个开源.轻量并且对移动端友好的交互式地图 JavaScript 库,大小仅仅只有 39 KB, 拥有绝大部分开发者所需要的所有地图特性 Leaflet 的官网为:Lea ...
- Postgresql12基于时间点恢复
一.简介 数据库的PITR原理是依据之前的物理备份文件加上wal的预写日志模式备份做的恢复. 二.示例 1.数据库配置 wal_level = replica archive_mode = on ar ...
- 【必看】RuoYiVuek框架-数据源动态新增、配置如此简单!
应用场景 系统用户只能访问系统配置的数据源(可动态新增修改的) RuoYi Vue 框架源码 点我跳转 实现方式 1.系统提供 Yml文件配置 + Druid加载数据源 + @DataSource注解 ...
- 【树莓派】在vscode中连接树莓派并编写代码
在树莓派里编写代码的话会比较麻烦因此可以在vscode中通过ssh连接树莓派并且编辑代码 参考: vscode通过ssh连接树莓派实现远程开发 VSCODE 远程开发树莓派 使用vscode打造pyt ...
- 2373. 矩阵中的局部最大值 (Easy)
问题描述 2373. 矩阵中的局部最大值 (Easy) 给你一个大小为 n x n 的整数矩阵 grid . 生成一个大小为 (n - 2) x (n - 2) 的整数矩阵 maxLocal ,并满足 ...
- leetcode 31. 下一个排列 【时间击败 100%】 【内存击败 92.17%】
对于该题,我本来兴致勃勃地想到了两个优化,但从提交结果来看根本看不出来有什么区别,但我发4我说的都是真的 -3- 1 public void nextPermutation(int[] nums) { ...