假设我们有一个字符串 s 我们必须检查该字符串是否遵循模式 a^nb^n 。当 n = 3 时,这实际上是一个字符串,该字符串将是“aaabbb”。
因此,如果输入类似于 s = "aaaaabbbbb",那么输出将为 True,因为它跟在 a^5b^5 之后。
为了解决这个问题,我们将按照以下步骤操作 -
大小 := s 的大小
对于范围为 0 到大小 - 1 的 i,请执行
从循环中出来
如果 s[i] 与 'a' 不同,则
如果 i * 2 与大小不同,则
返回错误
对于在 i 到 size - 1 范围内的 j,执行
返回错误
如果 s[j] 与 'b' 不同,则
返回真
让我们看看以下实现以获得更好的理解 -
def solve(s): size = len(s) for i in range(size): if s[i] != 'a': break if i * 2 != size: return False for j in range(i, size): if s[j] != 'b': return False return True s = "aaaaabbbbb" print(solve(s))
"aaaaabbbbb"输出结果
True