Leetcode 392.判断子序列
Time: 20190904
Type: Easy
题目描述
给定字符串 s
和 t
,判断 s
是否为 t
的子序列。
你可以认为 s
和 t
中仅包含英文小写字母。字符串 t
可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。
示例 1:
s = "abc", t = "ahbgdc"返回 true.示例 2:
s = "axc", t = "ahbgdc"返回 false.
后续挑战 :
如果有大量输入的 S,称作S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/is-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
利用语言提供的特性,in
判断是否在字符串中,得到索引后,截断已经用过的,再在后面的字符串中求index
。
截断这种思想在这里很出彩,一方面是让求index
这种方法可行,另一方面是有剪枝的作用,降低搜索的复杂度。
本题没有想好如何用DP…
TBD…
代码
取索引 + 截断
class Solution:def isSubsequence(self, s: str, t: str) -> bool:index = -1for c in s:if c in t: index = t.index(c)t = t[index+1:] # 用过的就截断不要了else:return Falsereturn True
END.
Leetcode 392.判断子序列相关推荐
- leetcode - 392. 判断子序列
392. 判断子序列 -------------------------------------------- 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅 ...
- LeetCode 392. 判断子序列(双指针二分查找)
1. 题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅包含英文小写字母.字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 ...
- Leetcode 392. 判断子序列 (每日一题 20210929)
给定字符串 s 和 t ,判断 s 是否为 t 的子序列.字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串.(例如,"ace"是&q ...
- 118. Leetcode 392. 判断子序列 (动态规划-子序列问题)
步骤一.确定状态: 确定dp数组及下标含义 dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子 序列的长度为dp[i][j]. 步骤二.推断状态方程: 在确定递 ...
- LeetCode 392 判断子序列
思路:动态规划 如果s长度>t长度,则返回假 否则求最长公共子序列,如果最长公共子序列长度为s的长度,返回真,否则为假 问题转化为求s,t的最长公共子序列 定义dp数组: dp[i][j]表示 ...
- Leetcode 392. 判断子序列 解题思路及C++实现
解题思路: 使用贪心算法,每在字符串t中找到s的相应顺序的一个字符,就当做找到了该字符,然后接着去找后面的字符. 程序大循环:在字符串 t 中去寻找字符串 s 的第一个字符. 每当找到 s 的起始字符 ...
- 【Leetcode -389.找不同 -392.判断子序列】
Leetcode Leetcode -389.找不同 Leetcode -392.判断子序列 Leetcode -389.找不同 题目:给定两个字符串 s 和 t ,它们只包含小写字母. 字符串 t ...
- python 判断子序列_LeetCode 392. 判断子序列 | Python
392. 判断子序列 题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅包含英文小写字母.字符串 t 可能会很长(长度 ~= 500,000),而 s 是个 ...
- 392.判断子序列 | 792.匹配子序列的单词数
392. 判断子序列 labuladong 题解思路 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成 ...
最新文章
- Nat. Commun. | 条件GAN网络和基因表达特征用于类苗头化合物的发现
- Ubuntu中如何使得程序在后台运行
- Python之pandas-profiling:pandas-profiling库的简介、安装、使用方法之详细攻略
- react中实现异步请求的方法一,react-thunk
- jQuery提供的存储接口
- ecshop二次开发笔记
- C# wpf ScrollBar自定义音量调节样式滚动条
- 计算机课堂小游戏活跃气氛,活跃气氛课堂互动小游戏大全
- 一步成高手:终极图解内存(上篇)
- Kodi+Alist v3 挂载阿里云盘他人分享链接打造在线影视库
- 高可用:美团点评智能支付核心交易系统的可用性实践
- Linux下的java运行
- C语言【微项目01】—电话号码管理系统(文件操作实现)【2021-06-29】
- 十四、Debian 10 ldap
- 用友YonSuite释放商业创新的“蝴蝶效应”
- 【每周一篇】常用推荐算法总结
- pandorabox挂硬盘文件服务器,PandoraBox将系统挂载到U盘启动图文教程
- Adobe Reader 离线安装包下载 大全
- 2014 年终总结:即使艰难,也要始终怀揣梦想
- 董老师又双叒叕送书啦,10本《Python程序设计入门与实践》
热门文章
- LeetCode-13.罗马数字转整数
- Factory Pattern工厂模式
- Php超出高度隐藏,html字符超出指定高度后省略显示_html/css_WEB-ITnose
- linux阵列建立分区,在Linux上创建磁盘阵列———RAID-5
- pb 数据窗口插入数据_46MB 变4.5PB 数据炸弹:新方法突破性压缩资料
- ppt设置外观样式_PPT办公技巧:PPT内置主题样式的3种运用办法
- mysql pgsql 语法_PostgreSQL ALIAS语法
- filezilla 设置服务器_服务器ftp软件,五款服务器ftp软件的使用方法
- Linux下飞鸽传书项目设计书,Linux 下飞鸽传书设计实现
- jdbc面试_JDBC面试问答