网站文件夹命名seo,做公众号和网站一样吗,个体户做网站是怎么备案,济南做网站优化哪家好你的朋友正在使用键盘输入他的名字 name。偶尔#xff0c;在键入字符 c 时#xff0c;按键可能会被长按#xff0c;而字符可能被输入 1 次或多次。
你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字#xff08;其中一些字符可能被长按#xff09;…你的朋友正在使用键盘输入他的名字 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(i0,j0;iname.length()jtyped.length();) { if(name.charAt(i)typed.charAt(j)) { i; j; } else { if(j!0typed.charAt(j)typed.charAt(j-1)) { j; } else if(j!0typed.charAt(j)!typed.charAt(j-1)) { return false; } else if(j0) { return false; } } } if(j!typed.length()) { while(jtyped.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(i0,j0;iname.length()jtyped.length();) { if(name.charAt(i)typed.charAt(j)) { i; j; } else { if(j!0typed.charAt(j)typed.charAt(j-1)) { j; } else if(j!0typed.charAt(j)!typed.charAt(j-1)) { return false; } else if(j0) { return false; } } } if(j!typed.length()) { while(jtyped.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 apyplrz; //String bppyypllr; String a vtkgn; String b vttkgnn; System.out.println(isLongPressedName(a,b)); } }