2981. 找出出现三次的最长特殊子串

2981. 找出出现三次的最长特殊子串

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

给定字符串s,找出出现至少三次的最长由单一字符组成的特殊子串。如果不存在,返回-1。示例:'aaaa'的最长特殊子串为'aa',长度为2;而'abcdef'没有特殊子串,返回-1。

🎯

关键要点

  • 给定字符串s,找出出现至少三次的最长由单一字符组成的特殊子串。
  • 特殊子串是由单一字符组成的字符串,例如'aaa'是特殊的,而'abc'不是。
  • 如果不存在这样的特殊子串,返回-1。
  • 示例1:输入's = "aaaa"',输出为2,最长特殊子串为'aa'。
  • 示例2:输入's = "abcdef"',输出为-1,表示没有特殊子串。
  • 示例3:输入's = "abcabcabc"',输出为1,最长特殊子串为'a'。
  • 约束条件:3 <= s.length <= 50,s仅由小写字母组成。
  • 可以使用暴力破解的方法,因为s的长度限制较小(最多50)。
  • 算法步骤包括:迭代可能的子串长度,检查所有子串的出现次数,判断是否为特殊子串。
  • 时间复杂度为O(n^3),空间复杂度为O(n^2)。
➡️

继续阅读