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

LeetCode 925.长按键入

你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。

你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。

示例 1:

输入:name = “alex”, typed = “aaleex”
输出:true
解释:‘alex’ 中的 ‘a’ 和 ‘e’ 被长按。
示例 2:

输入:name = “saeed”, typed = “ssaaedd”
输出:false
解释:‘e’ 一定需要被键入两次,但在 typed 的输出中不是这样。

提示:

1 <= name.length, typed.length <= 1000
name 和 typed 的字符都是小写字母

直接模拟即可:

class Solution {
public:bool isLongPressedName(string name, string typed) {int nameIdx = 0;int typedIdx = 0;while (nameIdx < name.size() && typedIdx < typed.size()) {if (name[nameIdx] != typed[typedIdx]) {return false;}int nameSameNum = 1;while (nameIdx < name.size() - 1 && name[nameIdx] == name[nameIdx + 1]) {++nameIdx;++nameSameNum;}int typedSameNum = 1;while (typedIdx < typed.size() - 1 && typed[typedIdx] == typed[typedIdx + 1]) {++typedIdx;++typedSameNum;}if (typedSameNum < nameSameNum) {return false;}++nameIdx;++typedIdx;}// 循环结束时,可能name没有遍历完,也有可能typed没有遍历完// 处理没有遍历完的typedwhile (typedIdx < typed.size()) {if (typed[typedIdx] == typed[typedIdx - 1]) {++typedIdx;} else {return false;}}// 如果name没有遍历完,则typed一定不对应namereturn nameIdx == name.size();}
};

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

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

相关文章:

  • 哈希表-面试题01.02.判定是否互为字符重排-力扣(LeetCode)
  • 趣味学RUST基础篇(HashMap)
  • 二叉树的非递归遍历 | 秋招面试必备
  • Spring Bean
  • LLM面试50问:NLP/RAG/部署/对齐/安全/多模态全覆盖
  • R语言根据经纬度获得对应样本的省份
  • WPF依赖属性和依赖属性的包装器:
  • iOS混淆工具实战 视频流媒体类 App 的版权与播放安全保护
  • 安卓学习 之 gradle下载失败的解决方法
  • Elasticsearch面试精讲 Day 5:倒排索引原理与实现
  • 跨越产业技术障碍、创新制造模式的智慧工业开源了
  • 【开题答辩全过程】以宠物生活社区为例,包含答辩的问题和答案
  • 扩散模型驱动的智能设计与制造:下一场工业革命?
  • 最新!阿里财报电话会蒋凡与吴泳铭透露重要信息:淘宝闪购成绩斐然;零售与AI双轮驱动;阿里云推出“Agent Bay”新产品···
  • 物联网为何离不开天硕工业级SSD固态硬盘?
  • maven 常用指令
  • Corona渲染噪点终结指南:3ds Max高效去噪全攻略
  • 【3D 入门-3】常见 3D 格式对比,.glb / .obj / .stl / .ply
  • 通信中FDD和TDD的区别
  • 【SpringBootWeb开发】《一篇带你入门Web后端开发》
  • 242. 有效的字母异位词| 349. 两个数组的交集
  • 框架-SpringMVC-1
  • 手写Muduo网络库核心代码1-- noncopyable、Timestamp、InetAddress、Channel 最详细讲解
  • hive udf 执行一次调用多次问题
  • 算法 --- 模拟
  • HDFS读写机制深度解析:分布式存储的核心奥秘
  • Zookeeper分布式锁原理
  • java-设计模式-5-创建型模式-建造
  • 科普:为什么在开发板上运行 Qt 程序时需要在命令后加 -platform linuxfb
  • 少儿舞蹈小程序从0到1(5):搭建关于我们页面