0392-判断子序列

技术0392-判断子序列 0392-判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串

092-判断子序列

给定字符串S和T,判断S是否是T的子序列。

字符串的子序列是通过从原始字符串中删除一些(或不删除)字符而不改变剩余字符的相对位置而形成的新字符串。(例如,‘ace’是‘abcde’的子序列,而‘AEC’不是)。

高级:

如果有大量的输入S,叫做S1、S2、Sk,其中k=10亿,你需要依次检查它们是否是T的子序列。在这种情况下,您将如何更改代码?

谢谢:

特别感谢@pbrother添加了这个问题并创建了所有测试用例。

例1:

输入:s='abc ',t='ahbgdc '

输出:真

例2:

输入:s='axc ',t='ahbgdc '

输出:假

提示:

0=s .长度=100

0=长度=10^4

两个字符串都只包含小写字符。

资料来源:LeetCode

链接:https://leetcode-cn.com/problems/is-subsequence

参考:

https://leet code-cn.com/problems/is-subseries/solution/Dai-ma-sui-Xiang-Lu-Dai-ni-Xue-tou-dpzi-knntf/

python

# 0392.判断子序列

类别解决方案:

def isSubsequence(self,s:字符串,t:字符串)- bool:

'''

动态规划,编辑距离,时空O(n*m)

1.确定dp和下标

-dp[i][j],下标i-1结尾的S串,下标j-1结尾的T串。相同的子序列长度是dp[i][j]

2.确定重复公式

-如果s [I-1]=t [j-1],则在t中找到的字符也会出现在s中,dp[i][j]=dp[i-1][j-1] 1。

-如果s[i-1]!=t[j-1],相当于删除t中的字符并继续匹配,dp[i][j]=dp[i][j-1]

初始化

- dp[][]=0

4.遍历顺序

外层为S,内层为t。

:参数s:

:参数t:

:return:

'''

DP=[[0]*(len(t)1)for _ in range(len(s)1)]

对于范围(1)中的I,len(s) 1):

对于范围(1)中的j,len(t) 1):

if s[i-1]==t[j-1]:

dp[i][j]=dp[i-1][j-1] 1

else:

dp[i][j]=dp[i][j-1]

if DP[-1][-1]==len :

返回真

False返回

golang

包动态编程

//动态规划

函数问题序列字符串

DP :=make([][][]int,len(s) 1)

对于i :=范围dp {

dp[i]=make([]int,len(t) 1)

}

对于I :=1;i=len我

对于j :=1;j=len(t);j {

if s[i-1]==t[j-1] {

dp[i][j]=dp[i-1][j-1] 1

} else {

dp[i][j]=dp[i][j-1]

}

}

}

if dp[len(s)]

返回真

}

返回false

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/134429.html

(0)

相关推荐

  • ADO.NET连接数据库使用是怎样的

    技术ADO.NET连接数据库使用是怎样的本篇文章为大家展示了ADO.NET连接数据库使用是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如果我们利用Command 对象所执

    攻略 2021年12月1日
  • 如何理解Process 执行命令行封装类

    技术如何理解Process 执行命令行封装类今天就跟大家聊聊有关如何理解Process 执行命令行封装类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。进行多次测试

    攻略 2021年11月12日
  • Java怎么实现教材管理系统

    技术Java怎么实现教材管理系统这篇文章给大家介绍Java怎么实现教材管理系统,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、项目简述功能包括: 管理员可以增删改查教材、教材商、入库教材、用户(用

    攻略 2021年11月24日
  • Java Spring框架举例分析

    技术Java Spring框架举例分析本篇内容主要讲解“Java Spring框架举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java Spring框架举例分析”吧

    攻略 2021年11月24日
  • 公司仓库数据库服务器死锁过程及解决办法是什么

    技术公司仓库数据库服务器死锁过程及解决办法是什么这篇文章将为大家详细讲解有关公司仓库数据库服务器死锁过程及解决办法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。死锁

    攻略 2021年12月2日
  • Java入门中Hashtable和HashMap的区别是什么

    技术Java入门中Hashtable和HashMap的区别是什么这篇文章将为大家详细讲解有关Java入门中Hashtable和HashMap的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文

    攻略 2021年12月8日