Find Longest Special Substring That Occurs Thrice I
Difficulty: Medium
Category: DSA
Topics: Hash Table, String, Binary Search, Sliding Window, Counting
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.
**Example 1:**
**Input:** s = "aaaa"
**Output:** 2
**Explanation:** The longest special substring which occurs thrice is "aa": substrings "**aa**aa", "a**aa**a", and "aa**aa**".
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", "abc**a**ba", and "abcab**a**".
It can be shown that the maximum length achievable is 1.
```
**Constraints:**
- `3 <= s.length <= 50`
- `s` consists of only lowercase English letters.