思路:动态规划

如果s长度>t长度,则返回假

否则求最长公共子序列,如果最长公共子序列长度为s的长度,返回真,否则为假

问题转化为求s,t的最长公共子序列

定义dp数组:

dp【i】【j】表示  s[ 0: i )和 t[ 0: j )最长公共子序列的长度

出口:

如果i或j为0,表示s,t至少有一个空串,dp[i][j]=0

状态转移方程:

如果s【i-1】=t【j-1】,dp[i][j]=dp【i-1】【j-1】+1

否则,dp[i][j]=max(dp【i-1】【j】,dp【i】【j-1】)

代码:

class Solution {
public:int minDistance(string word1, string word2) {
vector<vector<int>>dp(word1.size()+1,vector<int>(word2.size()+1));
for(int i=0;i<=word1.size();i++)
{dp[i][0]=0;
}
for(int j=0;j<=word2.size();j++)
{dp[0][j]=0;
}
for(int i=1;i<=word1.size();i++)
{for(int j=1;j<=word2.size();j++){if(word1[i-1]==word2[j-1])dp[i][j]=dp[i-1][j-1]+1;else{dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}
}
return word1.size()+word2.size()-2*dp[word1.size()][word2.size()];}
};

LeetCode 392 判断子序列相关推荐

  1. leetcode - 392. 判断子序列

    392. 判断子序列 -------------------------------------------- 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅 ...

  2. LeetCode 392. 判断子序列(双指针二分查找)

    1. 题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅包含英文小写字母.字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 ...

  3. Leetcode 392.判断子序列

    Time: 20190904 Type: Easy 题目描述 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅包含英文小写字母.字符串 t 可能会很长(长度 ~ ...

  4. Leetcode 392. 判断子序列 (每日一题 20210929)

    给定字符串 s 和 t ,判断 s 是否为 t 的子序列.字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串.(例如,"ace"是&q ...

  5. 118. Leetcode 392. 判断子序列 (动态规划-子序列问题)

    步骤一.确定状态: 确定dp数组及下标含义 dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子 序列的长度为dp[i][j]. 步骤二.推断状态方程: 在确定递 ...

  6. Leetcode 392. 判断子序列 解题思路及C++实现

    解题思路: 使用贪心算法,每在字符串t中找到s的相应顺序的一个字符,就当做找到了该字符,然后接着去找后面的字符. 程序大循环:在字符串 t 中去寻找字符串 s 的第一个字符. 每当找到 s 的起始字符 ...

  7. 【Leetcode -389.找不同 -392.判断子序列】

    Leetcode Leetcode -389.找不同 Leetcode -392.判断子序列 Leetcode -389.找不同 题目:给定两个字符串 s 和 t ,它们只包含小写字母. 字符串 t ...

  8. python 判断子序列_LeetCode 392. 判断子序列 | Python

    392. 判断子序列 题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅包含英文小写字母.字符串 t 可能会很长(长度 ~= 500,000),而 s 是个 ...

  9. 392.判断子序列 | 792.匹配子序列的单词数

    392. 判断子序列 labuladong 题解思路 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成 ...

最新文章

  1. 二分类变量相关性分析spss_spss:两个有序分类变量的相关分析『kendallstau-b相关系数』...
  2. 滴滴面试算法-----有序二维数组查找
  3. 聊一聊:请假不想说真实原因,你都怎么跟领导讲?
  4. mysql putty 备份_Linux下mysql数据库的备份-putty
  5. node.js 使用----相关常用命令总结
  6. 双十一期间快递员凌晨送件 将下班程序员误认成小偷
  7. '=='和equals区别以及jvm内存分配
  8. 解析对象体内与方法体内引用内部方法的不同
  9. springboot项目执行controller方法时进入慢的问题
  10. python异步调用exe等待_【Python】Async异步等待简单例子理解
  11. Android插件GsonFormat
  12. 电脑办公 等 无锡计算机培训,无锡锡山区电脑培训计算机培训office办公软件培训...
  13. XMPP即时通讯协议使用(前传)——协议详解
  14. Android资源代码 源码 整理 Github开源项目下载地址
  15. 搜狗浏览器异常问题 - 解决方案
  16. 实现了一个简单的以图搜图功能(带代码)
  17. linux mysql5.7免安装版配置_MySQL5.7免安装版配置
  18. MySQL学习总结(一)DB、DMBS、SQL的含义/MySQL语法规范
  19. 11月最值得关注的26个热点
  20. POI对word文档中的指定内容添加批注

热门文章

  1. 自己编译vim,解决Ubuntu 12.04 terminal里执行gvim会挂起的问题
  2. JSK-16016 单词排序【排序】
  3. JSK-61 二进制加法【大数】(废除!!!)
  4. HDU1276 士兵队列训练问题【模拟+array+vector+list】
  5. UVA10196 Check The Check【模拟+回溯】
  6. Bailian4071 查找出现了k次的字符【字符串】
  7. .condarc(conda 配置文件)、换国内源
  8. 生活的 tricks
  9. C Tricks(二)—— 按块访问二维数组
  10. Python 测试(一)—— doctest