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
    }
    

All Problems

All Solutions