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. Java的四种引用之强弱软虚

    在java中提供4个级别的引用:强引用.软引用.弱引用和虚引用.除了强引用外,其他3中引用均可以在java.lang.ref包中找到对应的类.开发人员可以在应用程序中直接使用他们. 1 强引用 强引用 ...

  2. Tcp 编程 的时代 已经到来

    这是 一个 网友 在 Github 上的 项目  SmartRoute  : https://github.com/IKende/SmartRoute ZooKeeper 和 Consul 的 “投票 ...

  3. js正则表达式30分钟入门教程

    2011-10-27 13:23:15 如何使用本教程 最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要 ...

  4. java 中getDeclaredFields() 与getFields() 的区别

    java 中getDeclaredFields() 与getFields() 的区别 getDeclaredFields()返回Class中所有的字段,包括私有字段.例证: package com.t ...

  5. appium出现的问题记录

    1,(自带的)启动模拟器提示 Starting emulator for AVD 'AVD_for_Galaxy_Nexus' emulator: ERROR: x86 emulation curre ...

  6. java web程序 上机考试做一个登陆注册程序

    大二期末 java web.用到数据库,jdbc.myeclipse实现用户的注册,登陆 并且不能出现500错误,用户不能重复注册.当用户任意点击时也不能出现500错误! 这里.我只写注册成功的页面. ...

  7. 学习笔记之Visual Studio Team Services

    VSTS and TFS Documentation | Microsoft Docs https://docs.microsoft.com/en-us/vsts/index?view=vsts#pi ...

  8. 1044 Shopping in Mars (25 分)

    1044 Shopping in Mars (25 分) Shopping in Mars is quite a different experience. The Mars people pay b ...

  9. [UE4]C++中引用(&)的用法和应用实例

    对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率 ...

  10. tp5的RBAC插件及其使用很方便的管理用户登录及操作权限

    tp5-rbac 本扩展包是tp5的rbac包,使用了部分tp5的特性实现了关系型数据库中特殊数据结构的处理. 安装方法 先安装composer如果不知道怎么安装使用composer请自行百度. 打开 ...