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

day96—双指针—长按键入(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 的字符都是小写字母

解决方案:

1、双指针:相同则遍历下一位

2、如果不同,则跳过重复位: 

while(j<typed.length()&&typed[j]==typed[j-1])  j++;

3、避免超时:一次循环,判断两次

4、一定是 i 先超出循环,否则会有缺失字母,返回 false

函数源码:

class Solution {
public:bool isLongPressedName(string name, string typed) {int i=0,j=0;while(i<name.length()&&j<typed.length()){if(name[i]==typed[j]){i++;j++;}else{if(j==0)    return false;while(j<typed.length()&&typed[j]==typed[j-1])j++;if(name[i]==typed[j]){i++;j++;}else{return false;}}}if(i<name.length()) return false;while(j<typed.length()){if(typed[j]==typed[j-1])    j++;else return false;}return true;}};
http://www.dtcms.com/a/558060.html

相关文章:

  • 本地部署 Spring AI 完全指南:从环境搭建到实战落地
  • 外贸服装网站建设高邮网站建设
  • 建设电子商务网站期末考试网站开发需求表
  • 如何利用QuickAPI管理企业数据库的API生命周期并提升数据安全
  • 做自媒体网站开发番禺网站开发设计
  • Verilog和FPGA的自学笔记9——呼吸灯
  • @RestController注解
  • 门户网站英文郑州网站模板建设
  • LVS负载均衡集群理论
  • 关于高校网站建设论文的总结网络优化基础知识
  • 规则引擎Drools语法要点
  • 柘林网站建设公司推广做哪个网站
  • 校园网站建设情况统计表logo标志
  • UVa 10396 Vampire Numbers
  • 关于网站建设的指标河北城乡和住房建设厅官方网站
  • 【图像】图像的颜色深度(Color Depth)和存储格式(File Format)
  • docker镜像国内的仓库地址
  • 汕头企业网站建设价格seo外贸 网站公司推荐
  • 跟着deepseek减肥
  • 深圳盐田网站建设wordpress vr主题公园
  • 未来软件网站建设财经网站直播系统建设
  • 预测海啸:深入探索地震模式(2001-2022年)
  • 【AutoHotkey】(解决记录)AHK安装后脚本显示运行实际没执行(最简单的测试用脚本)
  • 智慧教室解决方案(3)PPT(48页)
  • 个人作品集网站wordpress置顶重复
  • 【模拟面试|豆包模拟面试-2 Java基础】
  • 长沙网站维护外贸做什么产品出口好
  • VBA数据库解决方案第二十四讲:把提供的数据在数据表中删除
  • 大模型数据集的深入认识和微调数据集的构建流程
  • 怎么在欧美做网站推广网站通栏广告代码