当前位置: 首页 > news >正文

【leetcode】392. 判断子序列

文章目录

    • 题目
    • 题解
      • 1. 双循环
      • 2. 双指针
      • 3. 动态规划

题目

392. 判断子序列

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。

进阶:

如果有大量输入的 S,称作 S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?

示例 1:

输入:s = “abc”, t = “ahbgdc”
输出:true

示例 2:

输入:s = “axc”, t = “ahbgdc”
输出:false

题解

1. 双循环

class Solution(object):def isSubsequence(self, s, t):""":type s: str:type t: str:rtype: bool"""slow = 0fast = 0w = 0if len(s) == 0:return Trueif len(t) == 0:return Falsefor i in range(len(s)):if w >= len(t):return Falsefor j in range(w, len(t)):if j < len(t) and t[j] == s[i]:w = j + 1if i == len(s) - 1:return Truebreakelif j < len(t) - 1 and t[j] != s[i]:continueelif j == len(t) - 1 and t[j] != s[i]:return Falsereturn True

2. 双指针

class Solution(object):def isSubsequence(self, s, t):""":type s: str:type t: str:rtype: bool"""n, m = len(s), len(t)i = j = 0while i < n and j < m:if s[i] == t[j]:i += 1j += 1else:j += 1return i == n

3. 动态规划

class Solution(object):def isSubsequence(self, s, t):""":type s: str:type t: str:rtype: bool"""n, m = len(s), len(t)i = j = 0while i < n and j < m:if s[i] == t[j]:i += 1j += 1else:j += 1return i == n

代码随想录
在这里插入图片描述

http://www.dtcms.com/a/338211.html

相关文章:

  • 【yocto】为什么要选择yocto?
  • leetcode4_452 and 763
  • 力扣热题100------19.删除链表的倒数第N个结点
  • 【MongoDB与Python:数据库操作入门教程】
  • 力扣hot100:移动零问题的巧妙解决:双指针与原地交换策略(283)
  • ETL中统一调度的方式
  • Vue深入组件:组件事件详解1
  • 如何使用 React 101 的 Highcharts 包装器
  • 【网络安全实验报告】实验七:简单的防火墙搭建实验
  • css word-pass
  • 数据转换细节揭秘:ETL如何精准映射复杂业务逻辑
  • 专题:2025AI技术应用与发展报告|附600+份报告PDF、数据仪表盘汇总下载
  • 前端处理导出PDF。Vue导出pdf
  • GPT-5博士级AI使用教程及国内平替方案
  • 活到老学到老之vue-vben-admin项目安装
  • WordPress (LNMP 架构) 一键部署 Playbook
  • django+Vue3实现前后端分离式实时聊天室
  • Java面试考点
  • ​Kali Linux 环境中的系统配置文件与用户配置文件大全
  • MySQL 自增主键满了咋办?
  • PowerBI CrossFilter解决关联关系过滤传播问题
  • 对象存储 COS 端到端质量系列 —— 终端网络诊断工具
  • 【大模型】RAG
  • 明远智睿 RK3588:以技术突破解锁开发新维度
  • 【Python】源码安装python后报错:ModuleNotFoundError: No module named ‘_lzma‘
  • Jenkins持续集成系统
  • github 如何在 readme 显示Star History
  • NL2SQL:从自然语言到SQL查询的深度解析
  • PostgreSQL 从参数调优到 AI 诊断的实战指南
  • Unity开发中的浅拷贝与深拷贝