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

925.长按键入

目录

  • 一、题目
  • 二、思路
  • 三、解法
  • 四、收获

一、题目

你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 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就写的清清楚楚了,应对大多数用例
在这里插入图片描述
不仅要把自己逻辑通过代码写出来,发现有解决问题的清晰的逻辑也很重要


http://www.kler.cn/a/528467.html

相关文章:

  • 自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数
  • 【深度分析】微软全球裁员计划不影响印度地区,将继续增加当地就业机会
  • 【开源免费】基于SpringBoot+Vue.JS体育馆管理系统(JAVA毕业设计)
  • arkts bridge使用示例
  • C语言指针专题四 -- 多级指针
  • LigerUI在MVC模式下的响应原则
  • 吴恩达深度学习——优化神经网络
  • php的使用及 phpstorm环境部署
  • 设计模式学习(二)
  • Airflow:深入理解Apache Airflow Task
  • TDengine:no taos in java.library.path
  • 磐维数据库PanWeiDB2.0集群部署安装
  • ArkTS编程规范
  • 大白话讲清楚embedding原理
  • 高速稳定,功能强大的免费下载工具!!
  • Java小白入门教程:HashMap
  • pandas分组
  • Git图形化工具【lazygit】
  • DeepSeek的提示词使用说明
  • 【数据结构】_链表经典算法OJ(力扣/牛客第二弹)
  • 代码随想录——回溯
  • 《数据可视化新高度:Graphy的AI协作变革》
  • Spring MVC消息转换器
  • 如何对系统调用进行扩展?
  • 开启 AI 学习之旅:从入门到精通
  • AI-ISP论文Learning to See in the Dark解读