Formatted question description: https://leetcode.ca/all/1446.html

1446. Consecutive Characters (Easy)

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.

Related Topics:
String

Similar Questions:

Solution 1.

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

// Time: O(N)
// Space: O(1)
class Solution {
public:
    int maxPower(string s) {
        int ans = 1, cnt = 1;
        for (int i = 1; i < s.size(); ++i) {
            if (s[i] == s[i - 1]) ans = max(ans, ++cnt);
            else cnt = 1;
        }
        return ans;
    }
};

Or

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

// Time: O(N)
// Space: O(1)
class Solution {
public:
    int maxPower(string s) {
        int start = 0, ans = 0;
        for (int i = 0; i < s.size(); ++i) {
            if (s[i] == s[start]) ans = max(ans, i - start + 1);
            else start = i;
        }
        return ans;
    }
};

Java

class Solution {
    public int maxPower(String s) {
        if (s == null || s.length() == 0)
            return 0;
        int length = s.length();
        int maxPower = 1;
        int power = 0;
        char prevC = 'A';
        for (int i = 0; i < length; i++) {
            char c = s.charAt(i);
            if (c == prevC) {
                power++;
                maxPower = Math.max(maxPower, power);
            } else {
                power = 1;
                prevC = c;
            }
        }
        return maxPower;
    }
}

All Problems

All Solutions