首页 > 试题广场 >

牛牛与字符串1

[编程题]牛牛与字符串1
  • 热度指数:549 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛牛想知道在一个字符串s中是否有两个不重叠的子串"NB"和"BN"
例如,在一个字符串中出现一个子串为"NBN",那么就是有重叠的。
由于字符串可能会很长,所以牛牛无法解决该问题,所以他想请你帮忙,给定一个字符串s,如果两个不重叠的子串"NB"和"BN",返回"YES",反之,返回"NO"。
示例1

输入

"NBN"

输出

"NO"
示例2

输入

"NBYBN"

输出

"YES"

备注:
保证字符串只由大写字母组成
题解:https://blog.nowcoder.net/n/833d1cef0abc4de696b6e82f2c3982d6
头像 CroMarmot
发表于 2021-10-02 04:15:46
题意 给定字符串,问是否同时存在"BN" 和 "NB",且这两个存在的位置没有重叠 其中字符串长度∣s∣≤106|s|\leq 10^6∣s∣≤106 方法 for 套 for (应该会超时但是没有超时) 遍历字符串,如果找到BN, 则在其不重叠的范围内搜索N 展开全文
头像 KevinMcblack
发表于 2020-08-01 22:51:44
牛牛想知道在一个字符串s中是否有两个不重叠的子串"NB"和"BN"。例如,在一个字符串中出现一个子串为"NBN",那么就是有重叠的。由于字符串可能会很长,所以牛牛无法解决该问题,所以他想请你帮忙,给定一个字符串s,如果有两个不重叠的子串"NB"和"BN",返回"YES",反之,返回"NO"。 题解 展开全文