(Easy) Long Pressed Name LeetCode
Posted codingyangmao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(Easy) Long Pressed Name LeetCode相关的知识,希望对你有一定的参考价值。
Description:
Your friend is typing his name
into a keyboard. Sometimes, when typing a character c
, the key might get long pressed, and the character will be typed 1 or more times.
You examine the typed
characters of the keyboard. Return True
if it is possible that it was your friends name, with some characters (possibly none) being long pressed.
Example 1:
Input: name = "alex", typed = "aaleex"
Output: true
Explanation: ‘a‘ and ‘e‘ in ‘alex‘ were long pressed.
Example 2:
Input: name = "saeed", typed = "ssaaedd"
Output: false
Explanation: ‘e‘ must have been pressed twice, but it wasn‘t in the typed output.
Example 3:
Input: name = "leelee", typed = "lleeelee"
Output: true
Example 4:
Input: name = "laiden", typed = "laiden"
Output: true
Explanation: It‘s not necessary to long press any character.
Note:
name.length <= 1000
typed.length <= 1000
- The characters of
name
andtyped
are lowercase letters.
Solution:
class Solution public boolean isLongPressedName(String name, String typed) if(name ==null || typed ==null||typed.length()<name.length()) return false; int tpcc=0; int namecc=0; for(int i = 0; i< name.length(); i++) if(Count(typed, name.charAt(i),tpcc)< Count(name, name.charAt(i),namecc)) return false; tpcc= tpcc+Count(typed, name.charAt(i),tpcc); namecc= namecc+Count(name, name.charAt(i),namecc); //System.out.println(Count("alexa", ‘a‘,0)); return true; public int Count (String s, char a, int pos) int num = 0; for(int i =pos; i<s.length(); i++) if(s.charAt(i)==a) num++; else break; return num;
以上是关于(Easy) Long Pressed Name LeetCode的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode.925-长按的名字(Long Pressed Name)
Leetcode-925 Long Pressed Name(长按键入)
[LeetCode&Python] Problem 925. Long Pressed Name