LeetCode 1446. Consecutive Characters

Description

https://leetcode.com/problems/consecutive-characters/

Given a string s, the power of the string is the maximum length of a non-empty substring that contains only one unique character.

Return the power of the string.

Example 1:

Input: s = "leetcode"
Output: 2
Explanation: The substring "ee" is of length 2 with the character 'e' only.

Example 2:

Input: s = "abbcccddddeeeeedcba"
Output: 5
Explanation: The substring "eeeee" is of length 5 with the character 'e' only.

Example 3:

Input: s = "triplepillooooow"
Output: 5

Example 4:

Input: s = "hooraaaaaaaaaaay"
Output: 11

Example 5:

Input: s = "tourist"
Output: 1

Constraints:

  • 1 <= s.length <= 500
  • s contains only lowercase English letters.

Explanation

count max consecutive substring with only one unique character.

Python Solution

class Solution:
    def maxPower(self, s: str) -> int:
        longest = 0
        
        count = 0
        prev = None
        
        for i, c in enumerate(s):
            if c == prev:
                count += 1                
            else:
                longest = max(longest, count)
                prev = c          
                count = 1                
            
        return max(longest, count)
  • Time Complexity: O(N).
  • Space Complexity: O(1).

Leave a Reply

Your email address will not be published. Required fields are marked *