(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:

  1. name.length <= 1000
  2. typed.length <= 1000
  3. The characters of name and typed 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

[LeetCode] 925. Long Pressed Name 长按键入的名字

leetcode之Long Pressed Name

leetcode之Long Pressed Name