public class Solution
{
public bool IsLongPressedName(string name, string typed)
{
var list1 = new List<KeyValuePair<char, int>>();
var list2 = new List<KeyValuePair<char, int>>(); int name_len = name.Length;
int typed_len = typed.Length;
if (name_len > typed_len)
{
return false;
}
int con = ;
var last_char = ' ';
for (int i = ; i < name_len - ; i++)
{
var cur_char = name[i];
var next_char = name[i + ];
last_char = next_char;
if (cur_char == next_char)
{
con++;
}
else
{
list1.Add(new KeyValuePair<char, int>(cur_char, con));
con = ;
}
}
list1.Add(new KeyValuePair<char, int>(last_char, con)); con = ;
last_char = ' ';
for (int i = ; i < typed_len - ; i++)
{
var cur_char = typed[i];
var next_char = typed[i + ];
last_char = next_char;
if (cur_char == next_char)
{
con++;
}
else
{
list2.Add(new KeyValuePair<char, int>(cur_char, con));
con = ;
}
}
list2.Add(new KeyValuePair<char, int>(last_char, con));
if (list1.Count > list2.Count)
{
return false;
}
for (int i = ; i < list1.Count; i++)
{
if (list1[i].Key != list2[i].Key || list1[i].Value > list2[i].Value)
{
return false;
}
}
return true;
}
}

leetcode925的更多相关文章

  1. [Swift]LeetCode925. 长按键入 | Long Pressed Name

    Your friend is typing his name into a keyboard.  Sometimes, when typing a character c, the key might ...

  2. Leetcode925.Long Pressed Name长按键入

    你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的名字(其中一 ...

随机推荐

  1. tarjan强联通分量(模板)

    #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #inc ...

  2. string str将str转字符数组以及字符数组初始化

    c和指针(<pointers on c>) 8.1.11 一个字符串,如"hello",一般为字符串常量,可以用它对字符指针赋值,或初始化,相当于把这个字符串常量的首地 ...

  3. tiny4412-Uboot启动分析

    一.从本质上将,引导转载程序至少应提供以下功能 (1)设置和初始化RAM (2)初始化一个串口 (3)检测机器类型(machine type) (4)设置内核标签列表(tag list) (5)调用内 ...

  4. PipelineDB 1.0.0 发布——使用标准的pg 扩展开发模型

    PipelineDB 1.0.0 发布已经发布了,现在的已经成为一个标准的pg 扩展了,语法也有变动 create continous view 修改为了view,create streaem 修改为 ...

  5. hasura graphql-engine v1.0.0-alpha25 的几个方便功能

    hasura graphql-engine 是一个很不错的graphql 引擎,但是我们的数据模型经常可能会有变动, 但是以前的版本对于这些的处理,官方的方式是删除元数据,重启server,都不是很好 ...

  6. KindEditor 上传文件 在Asp.net中的使用

    以前一直用FCK编辑器,因为配置比较简单,但是发现Kindeditor这个编辑器更加好看,更加灵活,就用了下. 但是发现在上传文件的时候,出现了大问题,弄了我好久的时间,为了记录下,或许能帮助到您,共 ...

  7. hadoop 安装、命令

    hadoop安装步骤: 安装java 安装hadoop 下载地址:http://apache.claz.org/hadoop/common/ (说明:该网址current文件夹下,是最新版) hado ...

  8. Application 应用对象

    在整个服务器运行过程中,application对象只有一个 下面的例子是访问次数的统计 <%@ page language="java" contentType=" ...

  9. mySQL教程 第1章 数据库设计

    E-R设计 很多同学在学SQL语句时,觉得非常困难,那是因为你在学一个你根本不了解的数据库,数据库中的表不是你设计的,表与表之间的关系你不明白.因此在学SQL语句之前,先介绍一下数据库设计. 下面举例 ...

  10. ipconfig出现window IP configuration 。。

    我的电脑  右击 -->属性 ---->硬件---->设备管理器 安装以太网网卡 1.自动  电脑重新开机会自动提示安装 2.手动  下载以太网网卡驱动 ,选中合适类型(一般为int ...