LeetCode 395. 至少有K个重复字符的最长子串(分治)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 395. 至少有K个重复字符的最长子串(分治)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
找到給定字符串(由小寫字符組成)中的最長(zhǎng)子串 T , 要求 T 中的每一字符出現(xiàn)次數(shù)都不少于 k 。輸出 T 的長(zhǎng)度。
示例 1: 輸入: s = "aaabb", k = 3 輸出: 3 最長(zhǎng)子串為 "aaa" ,其中 'a' 重復(fù)了 3 次。示例 2: 輸入: s = "ababbc", k = 2 輸出: 5 最長(zhǎng)子串為 "ababb" ,其中 'a' 重復(fù)了 2 次, 'b' 重復(fù)了 3 次。來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/longest-substring-with-at-least-k-repeating-characters
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
- 找出字符串中次數(shù)小于 k 的,他們不能出現(xiàn)在答案中
- 以他們的位置把字符串切開,遞歸求解子問(wèn)題
- 當(dāng)一個(gè)子串中,字符計(jì)數(shù)都>= k 時(shí),更新最大長(zhǎng)度
- 剪枝,當(dāng)前處理的字符串長(zhǎng)度 <= 最大長(zhǎng)度時(shí),不再遞歸處理
8 ms 6.8 MB
總結(jié)
以上是生活随笔為你收集整理的LeetCode 395. 至少有K个重复字符的最长子串(分治)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 1456. 定长子串中
- 下一篇: LeetCode 660. 移除 9(9