leetcode--长按键入--python
文章目录
- 题目
- 题目详情
- 示例
- 解题思路
- 思路
- 代码
- 运行结果
- 最佳方案
题目
题目详情
你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。
你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。
示例
输入:name = "alex", typed = "aaleex"
输出:true
解释:'alex' 中的 'a' 和 'e' 被长按。
输入:name = "saeed", typed = "ssaaedd"
输出:false
解释:'e' 一定需要被键入两次,但在 typed 的输出中不是这样。
输入:name = "leelee", typed = "lleeelee"
输出:true
输入:name = "laiden", typed = "laiden"
输出:true
解释:长按名字中的字符并不是必要的。
解题思路
思路
- 首先想到运用两个指针一起遍历,各一个指针
- name[i] 与 typed[j] 相同时,同时后移,不相同时,判断 typed[i-1] 是否与 typed[j] 相同(和前一个比较字符比较是否重复了),相同则将j 后移,不相同返回false
代码
class Solution:def isLongPressedName(self,nums1,nums2):i,j =0,0while i<len(nums1) and j<len(nums2): #直到某个字符串遍历完成if nums1[i] == nums2[j]: i += 1j += 1elif nums1[i-1] == nums2[j] and i>0: #后一个可能与前一个相同j += 1else:return Falseif nums1[-1] == nums2[-1]: return Trueelse:return Falseif __name__ == "__main__":obj = Solution()a="alex"b="aaleex"obj.isLongPressedName(a,b) #输出True
运行结果
最佳方案
36ms
class Solution:def isLongPressedName(self, name: str, typed: str) -> bool:m, n = len(name), len(typed)if m > n:return Falseif name[0] != typed[0]:return Falsei, j = 1, 1while i < m and j < n:if name[i] == typed[j]:i += 1j += 1else:if typed[j] != name[i-1]:return Falsewhile j < n:if typed[j] == name[i-1]:j += 1else:breakreturn i == m
相关文章:

Visual Studio 2008 每日提示(十四)
本篇包括tip131-tip140 http://www.watch-life.net/visual-studio/visual-studio-2008-tip-day-14.html #131、你为什么会把窗体设置成为浮动(模式) 原文链接:Why you would want to make a Tool Window Floating 如果你想把工具窗体放在一个特定的区域&…

mysql双机热备的实现
转:http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中…
Matlab编程与数据类型 -- 多维数组
本图文详细介绍了Matlab中的多维数组。

leetcode--最长连续递增序列--python
文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 给定一个未经排序的整数数组,找到最长且连续的的递增序列。 示例 输入: [1,3,5,4,7] 输出: 3 解释: 最长连续递增序列是 [1,3,5], 长度为3。 尽管 [1,3,5,7] 也是升序的子序列, 但它不是…

va_start() va_end()函数应用
1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表void foo(...);void foo(parm_list,...);2:函数参数的传递原理函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:1 #include <iostream>2 voidfun(inta, ) 3 { 4 int*temp &a; 5 temp; 6 for(i…

高考估分查分选志愿一键搞定_支付宝又操办了件人生大事
摘要: 可能比高考更考验心力的填报志愿,支付宝要帮你一键搞定。 支付宝今天正式上线集估分、查分、选志愿等众多服务于一体的高考后综合服务平台,陪伴高考学生的青春大考。考生在估分、查分后,还可以看到系统智能推荐供参考的合适…
LSGO:祝大家新年快乐!
2016年,团队做了很多事,有做成的,有没做成的,有正在推进的,有主动放弃的,有做的好的,有做的不好的,但总体上还是做了很多的事情。希望2017年能做更多一点的事情,好的做的…

VMware安装Centos7桌面版超详细图文过程
前提准备: VMware Workstation虚拟机 centos7.4 镜像(我下载的DVD版4.1G) 打开VM,点击文件->新建虚拟机 不是说你分给虚拟机2G内存,主机就少了2G的内存。比如说假设主机内存为8G,虚拟机关闭的时候&…

关于ASP.NET Web 部件连接的引入
创建用于 ASP.NET 2.0 应用程序的 Web 部件 您可以用两种方法创建 Web 部件。第一种方法涉及创建一个自定义的 Web 部件类,该类从 System.Web.UI.WebControls.WebParts 命名空间中定义的 WebPart 类继承。使用该方法时,将自定义的 Web 部件类打包到一个程…

hive2.1.1安装配置
2019独角兽企业重金招聘Python工程师标准>>> 一、Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式。但是这种方式缺点也比较明显&am…
高斯消元法对矩阵LU分解的影响
** 欢迎大家到Matlab与线性代数专栏中查看相关图文。 ** 本文详细介绍了Matlab进行lu分解操作时l不为三角形的原理。

Windows10下SSH远程拷贝文件
因为今天需要把服务器上面的东西备份一下,自己平时也在windows下面做的测试,所以用windows在服务器拷贝文件到本地。 首先需要下载一个工具pscp.exe 下载链接 然后再把它移动到这个目录下面就行了 WINR打开命令行 pscp -r 用户名ip:/root/flask E:/refl…
如何在Matlab中获取函数参数的数目?
本图文详细介绍了Matlab中获取函数参数数目的方法。

新站测试中欢迎访问
想买画的可以来看看哦 www.oneartone.com 转载于:https://www.cnblogs.com/liugod/archive/2009/01/04/1368082.html

FTP匿名访问修复方法
window2003 window2008

LeetCode Python题解(一)----双指针法
根据: github优秀创作者. 算法思想 1.双指针法 2.排序 3.贪心思想 4.二分查找 5.分冶 6.搜索 7.动态规划 8.数学 1. 双指针法: 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。 1.1 有序数组的 Two Sum 题…

解密淘宝网的开源架构(转)
淘宝网,是一个在线商品数量突破一亿,日均成交额超过两亿元人民币,注册用户接近八千万的大型电子商务网站,是亚洲最大的购物网站。那么对于淘宝网这样大规模的一个网站,我猜想大家一定会非常关心整个网站都采用了什么样…

不上全站https的网站你们就等着被恶心死吧
2019独角兽企业重金招聘Python工程师标准>>> 测试脚本 #!/bin/sh wget \ --user-agent"Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19" \-r \-P a…
《C#精彩实例教程》小组阅读01 – MSDN是什么?
学习编程,特别是在Windows环境下的编程,当我们遇到问题时,最先想到的权威解答机构就是MSDN了。 什么是MSDN呢? MSDN – Microsoft Developer Network 是微软一个期刊产品,专门介绍各种编程技巧。同时它也是独立于Mic…

LeetCode Python题解(二)----排序
根据: githhub优秀创作者. 算法思想 1.双指针法 2.排序 3.贪心思想 4.二分查找 5.分冶 6.搜索 7.动态规划 8.数学 快速排序 用于求解 Kth Element 问题,也就是第 K 个元素的问题。 可以使用快速排序的 partition() 进行实现。需要先打乱数组ÿ…

人生快乐之道(组图)
举报 转载于:https://www.cnblogs.com/qqnnhhbb/articles/1373323.html

Codeforces Round #270
Codeforces Round #270 题目链接 A:我是筛了下素数。事实上偶数仅仅要输出4和x - 4,奇数输出9和x - 9就可以 B:贪心的策略,把时间排序后。取每k个的位置 C:贪心。每次遇到一个人尽量让他用字典序小的,假设不…
Matlab与数据结构 -- 如何获取完整文件名
本图文介绍了Matlab中获取完整文件名的函数fullfile()。

用Git上传删除本地项目到gitlab---图文解析
Git简介 Git是目前世界上最先进的分布式版本控制系统 故事起源:如果你用Microsoft Word写过长篇大论,那你一定有这样的经历: 想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……

正常的人|正确的作息时间
正确的作息时间 标签:健康/保健 分类:美容护肤晚上9点——11点为免疫系统(淋巴)排毒时间。此时间应安静或听音乐 晚间11点——凌晨1点,肝的排毒时间,需在熟睡中进行凌晨1点——3点,胆的排毒时间…
基于Matlab的BP神经网络在语音特征信号识别中的应用
本微信图文详细介绍了BP神经网络在语音特征信号中的应用,并给出了Matlab源码。

DSSM(DEEP STRUCTURED SEMANTIC MODELS)
Huang, Po-Sen, et al. "Learning deep structured semantic models for web search using clickthrough data." Proceedings of the 22nd ACM international conference on Conference on information & knowledge management. ACM, 2013. 该网络把两个不同的输…

TCP和UDP传输特点
1.1TCP传输特点: 端到端通信:客户应用程序在一端,服务器在另一端建立可靠连接:建立连接时会测试网络的连通性可靠交付:建立连接后会发送数据是可靠的,除非因为故障而不能可靠交付,发送方会得到…

css3之 渐变
CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。 以前,你必须使用图像来实现这些效果。但是,通过使用 CSS3 渐变(gradients),你可以减少下载的事件和宽带的使用。此外…

CRM:把 isv.config.xml 按钮事件移动到 entity.onload()
大家都知道在ISV.CONFIG里可以添加按钮,然后添加按钮事件,比如下面: <Entities><Entity name"account"><ToolBar ValidForCreate"0"ValidForUpdate"1"><Button Icon"/_imgs/ico_18_…