判断子序列二刷

文章目录

  • 1、描述
  • 2、思路
  • 3、notes
  • 4、复杂度

1、描述

给定字符串 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.

来源:力扣(LeetCode)
链接:
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2、思路

   1、无思路2、双指针,一个指向s,另一个指向t,当相等时候就都加1,如果不相等就 t 加1,当遍历s中的所有字符都有匹配时,返回                 真

3、notes

    两个串贪心向后、也可以把第一个构造成栈或者队列,通过出入来解,时间复杂度一样,但是多了空间复杂度

4、复杂度

     时间 : O ( n + m )两个数组长度空间 :  O ( 1 )

#5、code

for循环

class Solution {
public:bool isSubsequence(string s, string t) {size_t num_s =s.size();size_t num_t = t.size();int i = 0;for (int j = 0 ; i < num_s && j < num_t; i++, j++) {if (s[i] != t[j]) {i--;  // 子串原地等一步} }return i == num_s;}
};

while循环:

class Solution {
public:bool isSubsequence(string s, string t) {int ns=s.size();       //记录长度                                  int nt=t.size();int i=0; 				  //       i    j  双指针                                                       int j=0;while(i<ns && j<nt)            //           都在{if(s[i]==t[j])      //如果相等{i++;j++;}else                                                    // 不相等时候只有 j ++j++;}return i==ns;                                     // 如果是字串,就相等,是真}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/14277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web开发——HTMLCSS

1、概述 Web开发分前端开发和后端开发&#xff0c;前端开发负责展示数据&#xff0c;后端开发负责处理数据。 HTML&CSS是浏览器数据展示相关的内容。 1&#xff09;网页的组成部分 文字、图片、音频、视频、超链接、表格等等 2&#xff09;网页背后的本质 程序员写的前端…

重大活动网络安全保障建设及运营指南

在当今高度数字化的社会中&#xff0c;各类重大活动如会议、展览、赛事及庆典等正面临着日益复杂和严峻的网络安全威胁。这些威胁不限于网络入侵或数据泄露&#xff0c;更涉及到对基础设施、关键信息系统和公众舆论的复杂攻击&#xff0c;需要国际社会的密切合作和长期关注。因…

一张图看懂大模型性价比:能力、价格、并发量全面PK

最近&#xff0c;国内云厂商的大模型掀起一场降价风暴。火山引擎、阿里云、百度云等纷纷宣布降价&#xff0c;部分模型价格降幅据称高达99%&#xff0c;甚至还有些模型直接免费。 五花八门的降价话术&#xff0c;一眼望去遍地黄金。但事实真的如此吗&#xff1f;今天我们就拨开…

统计信号处理基础 习题解答10-2

题目 两个随机变量x和y&#xff0c;如果联合PDF分解为&#xff1a; 那么称他们为条件独立的。在上式中z是条件随机变量。 我们观察 其中, , 是相互独立的。证明和是条件独立的。给出条件变量是A。和是无条件独立么&#xff1f;也就是 成立么&#xff1f;为了回答这个问题&…

如何使用jmap工具生成堆内存快照

1、确保已安装JDK&#xff1a; 首先&#xff0c;确保你的系统上安装了Java Development Kit (JDK)。 2、找到Java进程的PID&#xff1a; 你需要知道你想要生成堆内存快照的Java进程的进程ID&#xff08;PID&#xff09;。你可以使用命令行工具如ps&#xff08;在Unix/Linux系…

Redis Cluster 集群搭建

1. 安装 Redis sudo apt-get update sudo apt-get install redis-server2. 创建配置文件 为每个 Redis 实例创建独立的配置文件和数据目录&#xff1a; mkdir -p /usr/local/redis-cluster/{7000,7001,7002,7003,7004,7005}3. 配置文件内容 每个 Redis 实例的配置文件内容如…

秋招突击——算法打卡——5/24——两数之和

题目描述 实现代码 ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {int addNumber 0;// 表示进位ListNode* res ListNode();ListNode* curNode res;while(l1 && l2){curNode.value (l1.value l2.value addNumber) % 10 addNumber (l1.value l2.value…

python3序列化模块之pickle

官方文档 简介 pickle 是 Python 中用于对象序列化和反序列化的标准库模块。它可以将 Python 对象转换为字节流,并将其保存到文件或通过网络传输,在需要时再将其恢复为原来的 Python 对象。 模块 pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化。 “pickling…

如何快速增加外链?

要快速增加外链并不难&#xff0c;相信各位都知道&#xff0c;难的是快速增加外链且没有风险&#xff0c;所以这时候GNB外链的重要性就出现了&#xff0c;这是一种自然的外链&#xff0c;何谓自然的外链&#xff0c;在谷歌的体系当中&#xff0c;自然外链指的就是其他网站资源给…

mysql 、oss 结合使用

以下是一个使用 Express、MySQL、OSS 和 axios 的 Node.js 示例。这个示例创建了一个 Express 服务器&#xff0c;该服务器有一个路由用于处理视频上传的请求。视频文件首先被上传到 OSS&#xff0c;然后视频的 OSS URL 被存储到 MySQL 数据库。 首先&#xff0c;我们需要安装必…

最大负载1kg!高度模块化设计!大象机器人智能遥控操作机械臂组合myArm MC

引入 近年来&#xff0c;市面上涌现了许多类似于斯坦福大学的 Alopha 机器人项目&#xff0c;这些项目主要通过模仿人类的运动轨迹来进行学习&#xff0c;实现了仿人类的人工智能。Alopha 机器人通过先进的算法和传感技术&#xff0c;能够精确复制人类的动作&#xff0c;并从中…

【stm32】——使用HAL库点灯

目录 一、安装STM32CubeMX 二、HAL库点亮LED灯 1.STM32CubeMX创建项目 2.进入Keil编写代码 三、采用中断控制LED灯的亮灭 1.创建项目 2.Keil中编写代码 四、Keil波形分析 总结 一、安装STM32CubeMX 具体操作可以参考下面链接&#xff1a; 搭建STM32开发环境——STM32CubeMX&a…

用Python pynput库捕捉每一次组合键的优雅舞步

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、初识pynput&#xff1a;键盘与鼠标的监控利器 当谈论计算机交互时&#xff0c;键盘和鼠标无疑是最常用的设备。无论是编写代码、浏览网页还是玩游戏&#xff0c;都依赖于这些输入设备与机器沟通。但在一些特殊的…

蓝桥杯单片机-国赛5——各外设时序记忆方法及手册重点提取

蓝桥杯涉及三个通讯外设&#xff0c;时序很难记忆&#xff0c;因此本文重点在于记录如何不背时序&#xff0c;直接看手册 注意&#xff1a;本文参考2024年第15届比赛手册讲解&#xff0c;没有英文基础也没关系 每一个外设会在第一张时序图中详细讲解&#xff0c;后续简写&…

【DevOps】深入理解 Nginx Location 块:配置示例与应用场景详解

目录 一、location 块的基本概念 二、location 块的语法 三、location 块的匹配方式 四、location 块的优先级 五、location 块的应用场景 六、location 块的嵌套 七、location 块的指令 八、示例配置 Nginx 是一个高性能的 Web 服务器和反向代理服务器&#xff0c;它广…

网站工作原理

web发展史 1.0时代不可修改 2.0可修改&#xff0c;比如发微博 有以下问题&#xff1a; 课程2&#xff1a; 静态页面 html 动态页面 php 经过服务端的语言解释器&#xff0c;解析成html文件&#xff0c;剩下的就和静态流程一样 后面三个是web服务器&#xff0c;语言解释器&…

边缘人工智能中的视频目标检测方法详解

随着边缘计算和人工智能技术的发展&#xff0c;视频目标检测在边缘设备上的应用变得越来越普遍。这些应用包括智能监控、自动驾驶、无人机巡检等。为了在资源受限的边缘设备上实现高效的目标检测&#xff0c;选择合适的算法和工具至关重要。本文将详细介绍几种适用于边缘设备的…

算法刷题day53:树形DP

目录 引言一、没有上司的舞会二、树的重心三、树的最长路径四、树的中心五、数字转换 引言 关于这个树形 D P DP DP 啊&#xff0c;其实感觉就是对树进行 D F S DFS DFS 只不过有一个返回值罢了&#xff0c;这个返回值一般代表的就是以该结点为根的子树的一个属性&#xff0…

[Spring Boot]baomidou 多数据源

文章目录 简述本文涉及代码已开源 项目配置pom引入baomidouyml增加dynamic配置启动类增加注解配置结束 业务调用注解DS()TransactionalDSTransactional自定义数据源注解MySQL2 测试调用查询接口单数据源事务测试多数据源事务如果依然使用Transactional会怎样&#xff1f;测试正…