美文网首页
LeetCode-696-计数二进制子串

LeetCode-696-计数二进制子串

作者: 阿凯被注册了 | 来源:发表于2020-10-28 02:33 被阅读0次

给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。
重复出现的子串要计算它们出现的次数。


image.png

解题思路:

  1. 中心扩展,偶数位的回文子串,从i-1,i分布向两边扩展遍历,保证s[i-1]!=s[i],且保持一致,result累计。

Python3代码:

class Solution:
    def countBinarySubstrings(self, s: str) -> int:
        # 中心扩展
        result = 0
        for i in range(len(s)):
            left, right = i-1, i
            left_char = s[left]
            right_char = s[right]
            if left_char==right_char:
                continue
            else:
                while left>=0 and right<len(s) and s[left]==left_char and s[right]==right_char:
                    left-=1
                    right+=1
                    result+=1
        return result

相关文章

  • LeetCode-696-计数二进制子串

    给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合...

  • leetcode

    简单题 696. 计数二进制子串: 一次遍历字符串2020.08.12 连续子序列 vs 子序列 x有序连续思路1...

  • 算法合集

    JavaScript版数据结构与算法 javascript反转字符串中的单词JavaScript计数二进制子串Ja...

  • JavaScript计数二进制子串

    问题描述给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1...

  • 696. 计数二进制子串

    696. 计数二进制子串 第一次解:暴力方法遍历每个数据,找到其后第一个不同的数,然后看是能与其有匹配数量,有的话...

  • JavaScript 算法 计数二进制子串

    给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合...

  • Leetcode 696. 计数二进制子串

    题目描述 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有...

  • Leetcode 696.计数二进制子串(javascript)

    题目 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都...

  • golang标准库之strings包

    Contains 判断字符串是否包含子串 判断相等&子串计数 计算索引 大小写转换 字符串拆分&拼接 字符串替换 ...

  • IOS 算法(基础篇) ----- 哪种连续子字符串更长

    给你一个二进制字符串 s 。如果字符串中由 1 组成的 最长 连续子字符串 严格长于 由 0 组成的 最长 连续子...

网友评论

      本文标题:LeetCode-696-计数二进制子串

      本文链接:https://www.haomeiwen.com/subject/ylafvktx.html