Skip to content

Latest commit

 

History

History
66 lines (55 loc) · 1.48 KB

File metadata and controls

66 lines (55 loc) · 1.48 KB

1446. 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 (Rust)

1. Solution

impl Solution {
    pub fn max_power(s: String) -> i32 {
        let mut s = s.bytes().peekable();
        let mut count = 1;
        let mut power = 1;

        while let Some(ch0) = s.next() {
            if let Some(&ch1) = s.peek() {
                if ch1 == ch0 {
                    count += 1;
                } else {
                    power = power.max(count);
                    count = 1;
                }
            }
        }

        power.max(count)
    }
}