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.

Solutions

🧠 Cpp

class Solution
{
public:
    int maxPower(string s)
    {
        int max_power = 1, counter = 0;
        char prev = 0;
        auto update_max_flush_counter = [&](char ch)
        {
            max_power = std::max(max_power, counter);
            prev = ch;
            counter = 1;
        };

        for(char ch : s)
        {
            if(ch == prev)
                counter++;
            else
                update_max_flush_counter(ch);
        }
        update_max_flush_counter(s.back());

        return max_power;
    }
};

Last updated