##### Welcome to Subscribe On Youtube

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.

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

############

class Solution {
public int maxPower(String s) {
int ans = 0, t = 0;
for (int i = 0; i < s.length(); ++i) {
if (i == 0 || s.charAt(i) == s.charAt(i - 1)) {
++t;
} else {
t = 1;
}
ans = Math.max(ans, t);
}
return ans;
}
}

• // 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;
}
};

• class Solution:
def maxPower(self, s: str) -> int:
ans = t = 0
for i, c in enumerate(s):
if i == 0 or c == s[i - 1]:
t += 1
else:
t = 1
ans = max(ans, t)
return ans


• func maxPower(s string) int {
ans, t := 0, 0
for i := range s {
if i == 0 || s[i] == s[i-1] {
t++
} else {
t = 1
}
ans = max(ans, t)
}
return ans
}

func max(a, b int) int {
if a > b {
return a
}
return b
}