求助 字节青训 2024 困难题 最大UCC子串计算(刷题入口:https://juejin.cn/problemset, 筛选困难题,第一道,点击题目可跳转至marscode平台在线测试提交):
小S有一个由字符 'U' 和 'C' 组成的字符串 S,并希望在编辑距离不超过给定值 m 的条件下,尽可能多地在字符串中找到 "UCC" 子串。编辑距离定义为将字符串 S 转化为其他字符串时所需的最少编辑操作次数。允许的每次编辑操作是插入、删除或替换单个字符。你需要计算在给定的编辑距离限制 m 下,能够包含最多 "UCC" 子串的字符串可能包含多少个这样的子串。例如,对于字符串"UCUUCCCCC"和编辑距离限制m = 3,可以通过编辑字符串生成最多包含3个"UCC"子串的序列。
测试样例
样例1:
输入:m = 3,s = "UCUUCCCCC"
输出:3
样例2:
输入:m = 6,s = "U"
输出:2
样例3:
输入:m = 2,s = "UCCUUU"
输出:2
样例4:
输入:m = 10,s = "CCU"
输出:4
样例5:
输入:m = 12,s = "UUUUUUUUUUUUUUUU"
输出:6
解释
样例1:可以将字符串修改为 "UCCUCCUCC"(2 次替换操作,不超过给定值 m = 3),包含 3 个 "UCC" 子串。
样例2:后面插入 5 个字符 "CCUCC"(5 次插入操作,不超过给定值 m = 6),可以将字符串修改为 "UCCUCC",包含 2 个 "UCC" 子串。
样例3:替换最后 2 个字符,可以将字符串修改为 "UCCUCC",包含 2 个 "UCC" 子串。