395. 至少有K个重复字符的最长子串
生活随笔
收集整理的這篇文章主要介紹了
395. 至少有K个重复字符的最长子串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
395. 至少有K個重復字符的最長子串
Ideas
一開始想到的是sliding window,但是它要求的是最長子串,不太好寫。
【參考大佬的題解:借本題幫助大家理解遞歸】
求子串問題除了用雙指針還可以用遞歸,如果一個字符 c 在 s 中出現的次數少于 k 次,那么 s 中所有的包含 c 的子字符串都不能滿足題意,應該在 s 的所有不包含 c 的子字符串中繼續尋找結果。
Code
Python
class Solution:def longestSubstring(self, s: str, k: int) -> int:if len(s) < k:return 0for ch in set(s):if s.count(ch) < k:return max(self.longestSubstring(t, k) for t in s.split(ch))return len(s)if __name__ == '__main__':print(Solution().longestSubstring(s="aaabb", k=3))總結
以上是生活随笔為你收集整理的395. 至少有K个重复字符的最长子串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 867. 转置矩阵
- 下一篇: 面试题 17.12. BiNode