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

LeetCode 2486.追加字符以获得子序列

给你两个仅由小写英文字母组成的字符串 s 和 t 。

现在需要通过向 s 末尾追加字符的方式使 t 变成 s 的一个 子序列 ,返回需要追加的最少字符数。

子序列是一个可以由其他字符串删除部分(或不删除)字符但不改变剩下字符顺序得到的字符串。

示例 1:

输入:s = “coaching”, t = “coding”
输出:4
解释:向 s 末尾追加字符串 “ding” ,s = “coachingding” 。
现在,t 是 s (“coachingding”) 的一个子序列。
可以证明向 s 末尾追加任何 3 个字符都无法使 t 成为 s 的一个子序列。
示例 2:

输入:s = “abcde”, t = “a”
输出:0
解释:t 已经是 s (“abcde”) 的一个子序列。
示例 3:

输入:s = “z”, t = “abcde”
输出:5
解释:向 s 末尾追加字符串 “abcde” ,s = “zabcde” 。
现在,t 是 s (“zabcde”) 的一个子序列。
可以证明向 s 末尾追加任何 4 个字符都无法使 t 成为 s 的一个子序列。

提示:

1 <= s.length, t.length <= 105^55
s 和 t 仅由小写英文字母组成

双序列双指针,跳过s中有,d中没有的字符:

class Solution {
public:int appendCharacters(string s, string t) {int sIdx = 0;int tIdx = 0;while (sIdx < s.size() && tIdx < t.size()) {if (s[sIdx] == t[tIdx]) {++tIdx;}++sIdx;}return t.size() - tIdx;}
};

如果s的长度为n,则此算法时间复杂度为O(n),空间复杂度为O(1)。

http://www.xdnf.cn/news/19707.html

相关文章:

  • ubuntu的2T新硬盘分区、格式化并挂载
  • Python进阶第三方库之Numpy
  • GO : cannot find module
  • 【音视频】 RGB 格式详解
  • 1.Linux:命令提示符,history和常用快捷键
  • 程序员之电工基础-初尝线扫相机
  • 百度发布Comate AI IDE,我要把Cursor卸载了!
  • AI生成PPT工具排名:2025年高效办公新选择
  • 【项目】分布式Json-RPC框架 - 应用层实现
  • Docker 安装 RAGFlow保姆教程
  • 【大前端】React 使用 Redux 实现组件通信的 Demo 示例
  • Vue 评论组件设计 V1.0
  • JVM 的 C1/C2 编译器
  • AI在金融、医疗、教育、制造业等领域的落地案例(含代码、流程图、Prompt示例与图表)
  • Archlinux KDE 下 Fcitx5 输入法的配置与美化
  • 第二十章 ESP32S3 IIC_EEPROM 实验
  • 【计算机网络】TCP状态转移
  • 开发板直连电脑的搭建网络环境(以正点原子阿尔法imx6ull开发板为讲解)
  • Flutter代码生成:告别重复劳动,效率飙升
  • 《我是如何用C语言写工控系统的漏洞和Bug》连载(1)内容大纲
  • FART 自动化脱壳框架优化实战:Bug 修复与代码改进记录
  • 充电枪结构设计-经验总结
  • 计算机网络:概述层---TCP/IP参考模型
  • shell编程从0基础--进阶 1
  • Day20_【机器学习—逻辑回归 (1)—原理】
  • 电子病历空缺句的语言学特征描述与自动分类探析(以GPT-5为例)(上)
  • 找Jenkins代替工具,可以体验下这款国产开源CICD工具
  • Web 集群高可用全方案:Keepalived+LVS (DR) 负载均衡 + Apache 服务 + NFS 共享存储搭建指南
  • 【C++】深入浅出:string类模拟实现全解析
  • 碰一下可打开小程序,在web系统中如何嵌入将小程序写入NFC