leetcode696. 计数二进制子串
给定一个字符串 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. 计数二进制子串相关推荐
- 696. Count Binary Substrings 计数二进制子串
给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的. 重复出现的子串要计算它们出现的次数. 示例 1 : 输入: "0 ...
- LeetCode 696. 计数二进制子串
1. 题目 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的. 重复出现的子串要计算它们出现的次数. 示例 1 : 输入: & ...
- 一天一大 lee(计数二进制子串)难度:简单-Day20200810
题目: 给定一个字符串 s,计算具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是组合在一起的. 重复出现的子串要计算它们出现的次数. 示例 示例 ...
- [Leetcode][第696题][JAVA][计算二进制子串][分组]
[问题描述][简单] [解答思路] 1. 按字符分组 将字符串 ss 按照 00 和 11 的连续段分组,存在counts 数组中,例如 s = 00111011,可以得到这样的counts 数组:c ...
- 来自北大算法课的Leetcode题解:696. 计算二进制子串
代码仓库:Github | Leetcode solutions @doubleZ0108 from Peking University. 解法1(可能超时):代码写起来还是有点绕的,当我站在一个位置 ...
- 剑指offer第2版Python题解(更新中)
O(n^2)排序 冒泡排序.插入排序与选择排序(Python)_NLP_victor的博客-CSDN博客 归并 归并排序(Python)_NLP_victor的博客-CSDN博客 快排 快速排序(Py ...
- 模拟(持续更新、整理)
链表 两数相加:leetcode-2 两两交换链表只能够的节点:leetcode-24 K个一组翻转链表:leetcode-25 旋转链表:leetcode-61 反转链表II:leetcode-92 ...
- 数学(持续更新、整理)
两数相加:leetcode-2 Z字形变换:leetcode-6 整数反转:leetcode-7 Pow(x, n):leetcode-50 排列序列:leetcode-60 爬楼梯:leetcode ...
- 力扣(LeetCode)刷题,简单+中等题(第29期)
目录 第1题:分割数组为连续子序列 第2题:翻转矩阵后的得分 第3题:寻找旋转排序数组中的最小值 第4题:乘积最大子数组 第5题:不同路径 第6题:判断路径是否相交 第7题:摆动序列 第8题:单调递增 ...
最新文章
- eslint 无法格式化ts_vscode-eslint的踩坑实践--typescript无法格式化
- TikTok玩家,路在何方?
- JAVA无法加载此类文件,Java 7错误:无法加载本机库:ld.so.1:java:致命:libscf.so.1:打开失败:没有此类文件或目录...
- android o测试版,一加手机可升级!谷歌已正式推送Android O测试版系统
- Azure SQL Database (23) Azure SQL Database Dynamic Data Masking动态数据掩码
- [转载]js复制内容加版权声明代码
- FatFs最新版本获取方法
- interactive_timeout和wait_timeout之间的区别
- linux 服务管理
- 如何在 Apple TV 上更快地打开您喜爱的应用?
- gof 设计模式 java_javaSE中的GOF设计模式
- php多线程webservice,PHP有适用于高并发的WebService框架嘛?
- Android STB 遥控器适配
- 分享一个超级好用的在线生成地图SiteMap制作工具
- 飞鱼星路由器如何限制外网访问服务器网站,飞鱼星路由器指定ip/mac禁止上网设置教程...
- 2022年最新河南建筑安全员模拟题库及答案
- 智能推荐--协同过滤
- 接口管理工具Rap的安装
- java 投票防重复_关于防止重复刷投票的个人观点
- 微信小程序开发之获取用户信息