Leetcode--925. 长按键入
你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。
你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。
示例 1:
输入:name = "alex", typed = "aaleex"
输出:true
解释:'alex' 中的 'a' 和 'e' 被长按。
示例 2:
输入:name = "saeed", typed = "ssaaedd"
输出:false
解释:'e' 一定需要被键入两次,但在 typed 的输出中不是这样。
示例 3:
输入:name = "leelee", typed = "lleeelee"
输出:true
示例 4:
输入:name = "laiden", typed = "laiden"
输出:true
解释:长按名字中的字符并不是必要的。
提示:
name.length <= 1000
typed.length <= 1000
name 和 typed 的字符都是小写字母。
思路:双指针法
1.如果name[i]==typed[i],都向后遍历一下
2.如果name[i]!=typed[i],但是typed[i]==typed[i-1],typed向后遍历一下
3.如果name[i]!=typed[i],typed[i]!=typed[i-1],return false;
提交的代码:
class Solution {
public boolean isLongPressedName(String name, String typed) {
if(typed.length()==0)
{
return false;
}
int i,j;
for(i=0,j=0;i<name.length()&&j<typed.length();)
{
if(name.charAt(i)==typed.charAt(j))
{
i++;
j++;
}
else
{
if(j!=0&&typed.charAt(j)==typed.charAt(j-1))
{
j++;
}
else if(j!=0&&typed.charAt(j)!=typed.charAt(j-1))
{
return false;
}
else if(j==0)
{
return false;
}
}
}
if(j!=typed.length())
{
while(j<typed.length()&&typed.charAt(j)==typed.charAt(j-1))
{
j++;
}
}
if(i!=name.length()||j!=typed.length())
{
return false;
}
return true;
}
}
完整的代码:
public class Solution925 {
public static boolean isLongPressedName(String name, String typed) {
if(typed.length()==0)
{
return false;
}
int i,j;
for(i=0,j=0;i<name.length()&&j<typed.length();)
{
if(name.charAt(i)==typed.charAt(j))
{
i++;
j++;
}
else
{
if(j!=0&&typed.charAt(j)==typed.charAt(j-1))
{
j++;
}
else if(j!=0&&typed.charAt(j)!=typed.charAt(j-1))
{
return false;
}
else if(j==0)
{
return false;
}
}
}
if(j!=typed.length())
{
while(j<typed.length()&&typed.charAt(j)==typed.charAt(j-1))
{
j++;
}
}
if(i!=name.length()||j!=typed.length())
{
return false;
}
return true;
}
public static void main(String[] args)
{
//String a="pyplrz";
//String b="ppyypllr";
String a = "vtkgn";
String b = "vttkgnn";
System.out.println(isLongPressedName(a,b));
}
}
Leetcode--925. 长按键入相关推荐
- LeetCode 925. 长按键入(双指针)
1. 题目 你的朋友正在使用键盘输入他的名字 name. 偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed. 如果它对应的可能是你的朋 ...
- leetcode 925. 长按键入
题目描述: 你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的 ...
- 2022-2-9 Leetcode 925.长按键入
第一反应用哈希表,但是不行 class Solution {public:bool isLongPressedName(string name, string typed) {if(name.size ...
- 台安变频器n2按键说明_力扣 925. 长按键入
925. 长按键入 题目描述 你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应 ...
- Leetcode:925. 长按键入
bool isLongPressedName(char * name, char * typed){int n=strlen(name),t=strlen(typed);int i=0,j=0;whi ...
- 有效的括号长按键入验证外星语词典字符的最短距离用栈实现队列
有效的括号 来源:杭哥 20. 有效的括号 - 力扣(LeetCode) bool isValid(char * s) {int sz=strlen(s);char stack[sz];int k=0 ...
- LeetCode 925 Long Pressed Name
LeetCode 925 Long Pressed Name 题目链接 Your friend is typing his name into a keyboard. Sometimes, when ...
- Leetcode每日一题:925.Long Pressed Name(长按键入)
大致意思就是typed对应位置上的相同字符数要大于等于name对应位置上的字符 思路:双指针遍历,每次都找出对应位置上字符的个数,再比较即可,注意不要忘了typed字符串过长的问题: bool isL ...
- LeetCode简单题之长按键入
题目 你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的名字( ...
- 925. Long Pressed Name 长按键入
你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的名字(其中一 ...
最新文章
- 斯坦福大学Christopher Manning:Transformer语言模型为什么能取得突破
- Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
- Unity3D 重写下拉菜单/Dropdown组件、开启每个按钮可用
- 中山大学附属第一医院精准医学研究院 消化系统肿瘤研究于君课题组招聘启事...
- .net MVC在服务端代码输出html字符串
- R语言 par()函数
- Flutter TextField设置默认值默认值和光标位置
- wap网游php源码,wap 文字游戏
- 大数据丨网络爬虫技术总结
- 深度学习常用数据集汇总
- 【Arduino 连接 SD 卡模块实现数据读写】
- 2021-09-07体脂秤模块用来做什么?开发八电极体脂秤方案
- CentOS: Kernel panic - not syncing: Fatal exception
- mysql怎么定位cpu高_Mysql数据库服务器CPU冲高问题定位及分析
- 笨木头的Unity3d常用操作介绍
- 不规则现金流 java设计_第三节不规则现金流的计算
- ADSP-21489的开发详解:VDSP+自己编程写代码开发(1-如何来做21489和21479的开发?简单说两句)
- burpsuite靶场系列之客户端漏洞篇 - 跨站脚本(XSS)专题
- php如何openssl_encrypt加密解密
- 达内计算机软件测试,达内软件测试培训让我拥有了实际工作经验
热门文章
- 数据结构--队列Queue--循环顺序队列
- selenium定位输入框_[Selenium 粗浅笔记] 用Selenium填写表单
- 指标波动多大才算是异常?
- Jupyter Notebook安装 nbextensions 插件
- linux nginx 图片服务器,搭建Nginx图片服务器(Linux)
- (十九)【AAAI2021】Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommend
- Android App包瘦身优化实践
- 论文浅尝 | Knowledge Vault: 全网规模的知识概率融合方法
- 以太网和路由设置,内网和外网同时上
- 法律规则鬼畜图解||全面易懂的旅游投诉赔偿标准