題目連結:
題目意譯:
你被給定一個字串 s,其小寫英文字母組成。
一個字串是「特殊」的,代表著其只由單一一種字元組成。例如說,字串 "abc" 不是特殊的,而字串 "ddd" 、 "zz" 和 "f" 等則是特殊的。
回傳 s 中至少出現三次的最長特殊子字串之長度。如果沒有特殊子字串出現至少三次,則回傳 -1。
一個子字串為一個字串中一段連續的非空字元序列。
限制:
3 ≦ s.length ≦ 5 × 10 ^ 5
s 只由小寫英文字母組成。
範例測資:
範例 1:
輸入: s = "aaaa"
輸出: 2
解釋: 至少出現三次的最長特殊子字串為 "aa":"aaaa" 、 "aaaa" 和 "aaaa"。
可以證明最大長度為 2。
範例 2:
輸入: s = "abcdef"
輸出: -1
解釋: 不存在任何特殊子字串出現至少三次。因此回傳 -1。
範例 3:
輸入: s = "abcaba"
輸出: 1
解釋: 至少出現三次的最長特殊子字串為 "a":"abcaba" 、 "abcaba" 和 "abcaba"。
可以證明最大長度為 1。
解題思維:
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。