Find Longest Special Substring That Occurs Thrice 2
Problem
You are given a string s that consists of lowercase English letters.
A string is called special if it is made up of only a single character. For example, the string "abc" is not special, whereas the strings "ddd", "zz", and "f" are special.
Return _the length of the longest special substring of _s which occurs at least thrice , or-1 if no special substring occurs at least
thrice.
A substring is a contiguous non-empty sequence of characters within a string.
Examples
Example 1:
Input: s = "aaaa"
Output: 2
Explanation: The longest special substring which occurs thrice is "aa": substrings "a̲a̲aa", "a a̲a̲a", and "aa a̲a̲".
It can be shown that the maximum length achievable is 2.
Example 2:
Input: s = "abcdef"
Output: -1
Explanation: There exists no special substring which occurs at least thrice. Hence return -1.
Example 3:
Input: s = "abcaba"
Output: 1
Explanation: The longest special substring which occurs thrice is "a": substrings "a̲bcaba", "abca̲ba", and "abcaba̲".
It can be shown that the maximum length achievable is 1.
Constraints:
3 <= s.length <= 5 * 10^5sconsists of only lowercase English letters.
Solution
This solutions to this problem are already covered here - [Find Longest Special Substring That Occurs Thrice 1](find-longest-special-substring-that-occurs-thrice-1). This problem is similar to previous problem, with the difference in terms of constraint. Here the string length can be uptill 5*10^5, which is much larger than previous problem, where the max length of string was 50.