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
leetcode--长按键入--python相关推荐
- 台安变频器n2按键说明_力扣 925. 长按键入
925. 长按键入 题目描述 你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应 ...
- leetcode哈希表(python与c++)
1.整数转罗马数字 python: class Solution:def intToRoman(self, num: int) -> str:dict_ = {1000:'M', 900:'CM ...
- 有效的括号长按键入验证外星语词典字符的最短距离用栈实现队列
有效的括号 来源:杭哥 20. 有效的括号 - 力扣(LeetCode) bool isValid(char * s) {int sz=strlen(s);char stack[sz];int k=0 ...
- LeetCode 其他部分 简单 Python实现
#LeetCode 其他部分 简单 Python实现 ''' 位1的个数 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量).示例 : 输入: 11 ...
- PDF转图片再转长图、python、pil
PDF转图片再转长图.python.pil 直接贴代码 运行环境 直接贴代码 # -*- coding: utf-8 -*- """ 1.安装库pip install p ...
- 《看聊天记录都学不会Python到游戏实战?太菜了吧》(9)集万家之长不死 python
本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题.此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将 ...
- LeetCode简单题之长按键入
题目 你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的名字( ...
- LeetCode 925. 长按键入(双指针)
1. 题目 你的朋友正在使用键盘输入他的名字 name. 偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed. 如果它对应的可能是你的朋 ...
- leetcode 925. 长按键入
题目描述: 你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的 ...
- LeetCode题解(0594):计算最长和谐子序列(Python)
题目:原题链接(简单) 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 368ms (91.63%) Ans 2 (Pytho ...
最新文章
- Android开发之如何保证Service不被杀掉(broadcast+system/app)
- Swift 泛型函数补充
- mysql ef vs
- TensorFlow各版本下载地址,强烈推荐
- leetcode算法题--Jump Game II
- 网络管理员在预先分配和识别作为_14个网络管理员必备的最佳网络流量分析工具,收藏了...
- Spring Cloud(五) Zuul Filter
- SAP连接外部ORACLE数据库
- 直播报名 | 大牛教你哔哩哔哩、亚马逊跨境电商用户画像实战真经
- 陶哲轩实分析命题 11.10.7
- 专精开发还是转管理?程序员的职业规划选择,没有想象中那么难
- python opengl 截图_初试PyOpenGL二 (Python+OpenGL)基本地形生成与高度检测
- 吐槽:Lambda表达式
- 剑指OFFER之包含min函数的栈(九度OJ1522)
- 【优化求解】基于matlab遗传算法求解函数极值问题【含Matlab源码 1198期】
- 机器学习-DBSCAN密度聚类
- MySQL 计算年龄
- 多线程——保证线程安全
- MIT5K数据集的使用
- Nim 游戏和 SG 函数