首页 > 字节跳动0809 笔试 第一题,完美字符串

字节跳动0809 笔试 第一题,完美字符串

某天你得到了一个长度为n(1<=n<=500000)的字符串,并且这个字符串只包含小写字母。现在允许你修改m(1<=m<=n)个位置的字母,修改完毕你要选取这个字符串的一个连续子串,如果这个子串只包含一种字母,那么这个连续子串是一个完美字符串。你希望得到的完美字符串长度尽可能长,请计算出你所能得到的最长长度是多少。

详细代码&解释请移步https://mp.weixin.qq.com/s/aKgvK3eLRQKpoCIox6tXqQ

样例输入
  • 8 1
  • aabaabaa
    样例输出
  • 5(把任意一个b换成a,得到的最长完美字符串为aaaaa)
    样例输入
  • 8 2
  • aabaabaa
    样例输出
  • 8 (把两个b都换成a,得到最长完美子串为aaaaaaaa)
思路
  • 这个题要求的是最后能得到的最长的完美子串的长度是多少,这个完美子串是由同一个字符构成的。那么可以枚举下最后最长的这个完美子串是由哪个字母组成的。
  • 那么问题就转换成了如何求只包含某一个字符的最长的完美串。解决这个问题之后可以遍历26个字母中的每一个,然后就能得到最终的答案了。

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐