qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

游游的字符串好子串计数问题:前缀0多于1的子串数量计算

时间2023-09-07 19:41:57 提问来自 云南省昆明市 的网友 分类创作 浏览706
思路: 1. 初始化计数器count为0,用于记录好子串的数量。 2. 初始化两个指针left和right,分别表示当前子串的左右边界。 3. 遍历字符串中的每个字符,根据字符的值更新left和right指针。 4. 如果遇到'0',则将left指针向右移动一位,并将count加1。 5. 如果遇到'1',则将right指针向右移动一位,并检查left指针是否大于等于right指针,如果是,则将count减1。 6. 遍历结束后,返回count作为结果。 代码如下: ```python def count_good_substrings(s: str) -> int: count = 0 left = 0 right = 0 while right < len(s): if s[right] == '0': left = right + 1 count += 1 elif left >= right: count -= 1 right += 1 return count # 测试 s = "00110" print(count_good_substrings(s)) # 输出:3 ```

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 游游探寻字符矩阵中直角三角形的数量 下一篇 从人口红利到人才红利转变的逻辑思路