Python 中检查字符串是否遵循 a^n b^n 模式


假设我们有一个字符串 s,我们需要检查该字符串是否遵循 a^nb^n 模式。实际上,当 n = 3 时,字符串将为 "aaabbb"。

因此,如果输入类似于 s = "aaaaabbbbb",则输出将为 True,因为它遵循 a^5b^5。

为了解决这个问题,我们将遵循以下步骤:

  • size := s 的大小
  • 对于范围从 0 到 size - 1 的 i,执行以下操作:
    • 如果 s[i] 不等于 'a',则
      • 退出循环
  • 如果 i * 2 不等于 size,则
    • 返回 False
  • 对于范围从 i 到 size - 1 的 j,执行以下操作:
    • 如果 s[j] 不等于 'b',则
      • 返回 False
  • 返回 True

让我们看看以下实现,以便更好地理解:

示例

 在线演示

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

更新于: 2020-12-29

160 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告