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)

相关推荐

  • OpenTelemetry的相关知识点有哪些

    技术OpenTelemetry的相关知识点有哪些本篇内容主要讲解“OpenTelemetry的相关知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“OpenTelem

    攻略 2021年11月16日
  • 满足解决配置DG Broker时报错Error: ORA-16698问题

    技术满足解决配置DG Broker时报错Error: ORA-16698问题这篇文章主要介绍“满足解决配置DG Broker时报错Error: ORA-16698问题”,在日常操作中,相信很多人在满足解决配置DG Bro

    攻略 2021年11月10日
  • 书写高质量SQL的30条建议分别是哪些

    技术书写高质量SQL的30条建议分别是哪些书写高质量SQL的30条建议分别是哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言小编将结合实例demo,阐

    攻略 2021年11月30日
  • Hibernate如何实现拦截器与监听器

    技术Hibernate如何实现拦截器与监听器这篇文章将为大家详细讲解有关Hibernate如何实现拦截器与监听器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。拦截器与事件都是Hiber

    攻略 2021年12月8日
  • cordic的FPGA概念与算法推导是怎样的

    技术cordic的FPGA概念与算法推导是怎样的cordic的FPGA概念与算法推导是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、CORDI

    攻略 2021年11月23日
  • 拓端tecdat|R语言平滑算法LOESS局部加权回归、三次样条、变化点检测拟合电视节目《白宫风云》在线收视率

    技术拓端tecdat|R语言平滑算法LOESS局部加权回归、三次样条、变化点检测拟合电视节目《白宫风云》在线收视率 拓端tecdat|R语言平滑算法LOESS局部加权回归、三次样条、变化点检测拟合电视节

    礼包 2021年10月28日