Longest Substring of One Repeating Character
You are given a 0-indexed string s. You are also given a 0-indexed string queryCharacters of length k and a 0-indexed array of integer indices queryIndices of length k, both of which are used to describe k queries.
The i^th query updates the character in s at index queryIndices[i] to the character queryCharacters[i].
Return an array lengths of length k where lengths[i] is the length of the longest substring of s consisting of only one repeating character after the i^th query is performed.
Example 1
Input
s = "babacc", queryCharacters = "bcb", queryIndices = [1,3,3]Output
[3,3,4]After the three updates, the longest one-character repeating substrings have lengths 3, 3, and 4, respectively.
Example 2
Input
s = "abyzz", queryCharacters = "aa", queryIndices = [2,1]Output
[2,3]After the two updates, the longest one-character repeating substrings have lengths 2 and 3, respectively.
Constraints
- 1 <= s.length <= 10^5
- s consists of lowercase English letters.
- k == queryCharacters.length == queryIndices.length
- 1 <= k <= 10^5
- queryCharacters consists of lowercase English letters.
- 0 <= queryIndices[i] < s.length