(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;
    }
}

原文地址:https://www.cnblogs.com/codingyangmao/p/11397248.html

时间: 2024-08-30 18:01:32

(Easy) Long Pressed Name LeetCode的相关文章

(Easy) Diet Plan Performance LeetCode Contest

Description: 5174. Diet Plan Performance My SubmissionsBack to Contest User Accepted:0 User Tried:0 Total Accepted:0 Total Submissions:0 Difficulty:Easy A dieter consumes calories[i] calories on the i-th day.  For every consecutive sequence of k days

(Easy) To Lower Case LeetCode

Description Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase. Example 1: Input: "Hello" Output: "hello" Example 2: Input: "here" Output: "here" Example 3: In

(Easy) Last Stone Weight LeetCode

class Solution { public int lastStoneWeight(int[] stones) { int len = stones.length; int i = len -1; int minus = 0; int remain = len; if(stones.length ==1){ return stones[0]; } else { Arrays.sort(stones); do{ if(stones[i]==stones[i-1]){ stones[i] = 0

(Easy) Occurences After Bigram LeetCode

Description: Given words first and second, consider occurrences in some text of the form "first second third", where second comes immediately after first, and third comes immediately after second. For each such occurrence, add "third"

(Easy) Flipping an Image LeetCode

Description: Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resulting image. To flip an image horizontally means that each row of the image is reversed.  For example, flipping [1, 1, 0] horizontally re

(Easy) Find Common Characters LeetCode

Description Given an array A of strings made only from lowercase letters, return a list of all characters that show up in all strings within the list (including duplicates).  For example, if a character occurs 3 times in all strings but not 4 times,

(Easy) Self Dividing Numbers LeetCode

Description: A self-dividing number is a number that is divisible by every digit it contains. For example, 128 is a self-dividing number because 128 % 1 == 0, 128 % 2 == 0, and 128 % 8 == 0. Also, a self-dividing number is not allowed to contain the

(Easy) Reverse linked list LeetCode

Description: Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5->4->3->2->1->NULL Follow up: A linked list can be reversed either iteratively or recursively. Could you implement both? Accepted 661,364

(Easy) Can Make Palindrome - LeetCode Contest (in progress)

Description: Given a string s, we make queries on substrings of s. For each query queries[i] = [left, right, k], we may rearrange the substring s[left], ..., s[right], and then choose up to k of them to replace with any lowercase English letter. If t