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

重复出现的子串要计算它们出现的次数。

示例 1 :

输入: “00110011”
输出: 6
解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。

请注意,一些重复出现的子串要计算它们出现的次数。

另外,“00110011”不是有效的子串,因为所有的0(和1)没有组合在一起。

代码

class Solution {public int countBinarySubstrings(String s) {int n=s.length(),ans=0;for(int i=0;i<n;i++){char c=s.charAt(i);int need=1,sa=0;int j=i+1;for(;j<n;j++)//连续左部分{if(s.charAt(j)==c){need++;}else {break;}}if(j>=n) continue;c=s.charAt(j);//右部分的开始字符i=j-1;//下一次循环直接跳到左部分的末尾for(;j<n;j++){if(s.charAt(j)==c){sa++;ans++;//小于左部分的连续数量时代表左边有字符串可以与当前的匹配if(sa==need) break;}else {break;}}}return ans;}
}

leetcode696. 计数二进制子串相关推荐

  1. 696. Count Binary Substrings 计数二进制子串

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

  2. LeetCode 696. 计数二进制子串

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

  3. 一天一大 lee(计数二进制子串)难度:简单-Day20200810

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

  4. [Leetcode][第696题][JAVA][计算二进制子串][分组]

    [问题描述][简单] [解答思路] 1. 按字符分组 将字符串 ss 按照 00 和 11 的连续段分组,存在counts 数组中,例如 s = 00111011,可以得到这样的counts 数组:c ...

  5. 来自北大算法课的Leetcode题解:696. 计算二进制子串

    代码仓库:Github | Leetcode solutions @doubleZ0108 from Peking University. 解法1(可能超时):代码写起来还是有点绕的,当我站在一个位置 ...

  6. 剑指offer第2版Python题解(更新中)

    O(n^2)排序 冒泡排序.插入排序与选择排序(Python)_NLP_victor的博客-CSDN博客 归并 归并排序(Python)_NLP_victor的博客-CSDN博客 快排 快速排序(Py ...

  7. 模拟(持续更新、整理)

    链表 两数相加:leetcode-2 两两交换链表只能够的节点:leetcode-24 K个一组翻转链表:leetcode-25 旋转链表:leetcode-61 反转链表II:leetcode-92 ...

  8. 数学(持续更新、整理)

    两数相加:leetcode-2 Z字形变换:leetcode-6 整数反转:leetcode-7 Pow(x, n):leetcode-50 排列序列:leetcode-60 爬楼梯:leetcode ...

  9. 力扣(LeetCode)刷题,简单+中等题(第29期)

    目录 第1题:分割数组为连续子序列 第2题:翻转矩阵后的得分 第3题:寻找旋转排序数组中的最小值 第4题:乘积最大子数组 第5题:不同路径 第6题:判断路径是否相交 第7题:摆动序列 第8题:单调递增 ...

最新文章

  1. eslint 无法格式化ts_vscode-eslint的踩坑实践--typescript无法格式化
  2. TikTok玩家,路在何方?
  3. JAVA无法加载此类文件,Java 7错误:无法加载本机库:ld.so.1:java:致命:libscf.so.1:打开失败:没有此类文件或目录...
  4. android o测试版,一加手机可升级!谷歌已正式推送Android O测试版系统
  5. Azure SQL Database (23) Azure SQL Database Dynamic Data Masking动态数据掩码
  6. [转载]js复制内容加版权声明代码
  7. FatFs最新版本获取方法
  8. interactive_timeout和wait_timeout之间的区别
  9. linux 服务管理
  10. 如何在 Apple TV 上更快地打开您喜爱的应用?
  11. gof 设计模式 java_javaSE中的GOF设计模式
  12. php多线程webservice,PHP有适用于高并发的WebService框架嘛?
  13. Android STB 遥控器适配
  14. 分享一个超级好用的在线生成地图SiteMap制作工具
  15. 飞鱼星路由器如何限制外网访问服务器网站,飞鱼星路由器指定ip/mac禁止上网设置教程...
  16. 2022年最新河南建筑安全员模拟题库及答案
  17. 智能推荐--协同过滤
  18. 接口管理工具Rap的安装
  19. java 投票防重复_关于防止重复刷投票的个人观点
  20. 微信小程序开发之获取用户信息

热门文章

  1. 【Linux系统编程学习】 文件描述符
  2. 哲学家就餐问题(如何避免死锁)(多线程版)
  3. 使用指针在函数中交换数值
  4. Java春招实习面试经验汇总,面试篇
  5. angular6 iframe应用
  6. Xcode 9.0 新增功能大全
  7. CodeForces 176B Word Cut(DP)
  8. 【iOS开发每日小笔记(一)】UIPickerView 自动选择某个component的某个row
  9. xml学习总结(四)
  10. 【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)