【问题标题】:Find substrings in binary string在二进制字符串中查找子字符串
【发布时间】:2021-12-01 12:56:04
【问题描述】:

我得到0s 和1s 的字符串,并且必须找到不同数量的子字符串:

  1. 0s 和 1s 的数量应该相同
  2. 1s 应该在 0s 之后。

因此,例如给定001101 答案将是2: 0011, 01 有什么建议?我想不出解决办法

【问题讨论】:

    标签: python string binary substring


    【解决方案1】:

    只生成010011等,检查它们是否在给定的字符串中,然后计算出现的次数如何?

    s = '001101'
    
    substrings = [t for x in range(1, len(s) // 2 + 1) if (t := '0' * x + '1' * x) in s]
    print(substrings, len(substrings)) # ['01', '0011'] 2
    

    这将列表理解与“海象”运算符一起使用(在 python 3.8 中引入)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 2011-07-13
      • 2013-10-29
      • 2021-08-13
      • 2015-10-28
      相关资源
      最近更新 更多