常熟制作网站的地方,在线网页代理极光,网络营销与传统营销的区别,成都微信网站建设多目录 一、题目二、思路三、解法四、收获 一、题目
你的朋友正在使用键盘输入他的名字 name。偶尔#xff0c;在键入字符 c 时#xff0c;按键可能会被长按#xff0c;而字符可能被输入 1 次或多次。
你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字在键入字符 c 时按键可能会被长按而字符可能被输入 1 次或多次。
你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字其中一些字符可能被长按那么就返回 True。
二、思路
规则的处理就是用while和if的结构组合附加上一些计数值。这题难在规则上如何解决少按的情况。 写了一个但是卡在了leelee、leeeelee这种用例上就是等长的重复情况处理不了。只能解决前10个用例
三、解法
class Solution {
public:bool isLongPressedName(string name, string typed) {int i 0, j 0;while (j typed.length()) {if (i name.length() name[i] typed[j]) {i;j;} else if (j 0 typed[j] typed[j - 1]) {j;} else {return false;}}return i name.length();}
};
四、收获
如何才能想到很清晰的判断逻辑发现一上来得先理清这些逻辑 三个if就写的清清楚楚了应对大多数用例 不仅要把自己逻辑通过代码写出来发现有解决问题的清晰的逻辑也很重要