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)

相关推荐

  • Hibernate有哪些核心接口

    技术Hibernate有哪些核心接口这篇文章主要介绍Hibernate有哪些核心接口,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Hibernate是一个开放源代码的对象关系映射框架,它对JDBC

    攻略 2021年12月8日
  • 孙悟空的外貌,孙悟空的外貌描写50字左右优秀

    技术孙悟空的外貌,孙悟空的外貌描写50字左右优秀孙悟空的外貌是孙悟空的外貌:1、拐子(腿的下部与脚相连处)脸、别颏腮(凹陷皱缩的脸)、雷公嘴(尖鸟嘴)、红眼睛的一个痨病魔鬼。
    2、圆眼睛,查耳朵(张开耳朵),满面毛,雷公

    生活 2021年10月25日
  • 怎样从Oracle到GaussDB的数据迁移

    技术怎样从Oracle到GaussDB的数据迁移今天就跟大家聊聊有关怎样从Oracle到GaussDB的数据迁移,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 一

    攻略 2021年11月30日
  • Ubuntu14.04 BLAS如何安装

    技术Ubuntu14.04 BLAS如何安装这篇文章主要介绍了Ubuntu14.04 BLAS如何安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境系

    攻略 2021年11月15日
  • P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

    技术P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fe

    礼包 2021年11月18日
  • MySQL中SQL语句执行流程是怎么样的

    技术MySQL中SQL语句执行流程是怎么样的这篇文章主要介绍MySQL中SQL语句执行流程是怎么样的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!总的来说,MySQL逻辑架构可以分为server层

    攻略 2021年10月26日