刷题记录:LeetCode 925.长按键入

题目:

你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。

你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True

复制代码
class Solution {
public:
    bool isLongPressedName(string name, string typed) {
        int nn = 0;
        int tt = 0;
        while (nn < name.size() || tt < typed.size())
        {
            if (name[nn] == typed[tt])
            {
                nn++;
                tt++;
            }
            else
            {
                if (tt == 0) return false;
                else 
                {
                    while (tt < typed.size() && typed[tt - 1] == typed[tt]) tt++;
                    if (name[nn] != typed[tt]) return false;
                    else 
                    {
                        tt++;
                        nn++;
                    }
                }
            }
        }
        if (tt < typed.size()) return false;
        return true;
    }
};
相关推荐
Yingjun Mo15 小时前
1. 统计推断-基于神经网络与Langevin扩散的自适应潜变量建模与优化
人工智能·神经网络·算法·机器学习·概率论
free15 小时前
基于librdkafa C++客户端生产者发送数据失败问题处理#2
c++·kafka
杨福瑞15 小时前
C语⾔内存函数
c语言·开发语言
eqwaak015 小时前
科技信息差(9.12)
开发语言·python·科技·量子计算
axban15 小时前
QT M/V架构开发实战:QStringListModel介绍
开发语言·数据库·qt
刘媚-海外15 小时前
Go语言开发AI应用
开发语言·人工智能·golang·go
小柯J桑_15 小时前
Linux:线程封装
linux·运维·c++
地平线开发者15 小时前
征程 6 | 灰度图部署链路介绍
算法·自动驾驶
地平线开发者15 小时前
手撕大模型|KVCache 原理及代码解析
算法·自动驾驶
勇敢牛牛_16 小时前
使用Rust实现服务配置/注册中心
开发语言·后端·rust·注册中心·配置中心