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;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea无法忍受_不要成为无法忍受的软件开发人员

idea无法忍受by Bruce Flow通过布鲁斯流 不要成为无法忍受的软件开发人员 (Don’t be the software developer you can’t stand working with) I have more than 10 years of industry experience as a software developer. I am working at one of the largest tech compani…

项目需求分析答辩总结

前言 组长成员★530 雨勤311 旭403 俊223 元437 海辉你一定也不想做的 本次作业没什么可看的 项目需求分析看完记得投币的 一分钟宣传视频本组对其他各组评审结果 编号团队名称项目名称报告格式/20演示内容/20答辩内容/20PPT制作/20演讲/20总分/1001天机组指尖加密15.013.613.6…

xml编辑 html_【c# .net】Xml读写操作(XmlTextReader 类)

Xml读写操作&#xff08;XmlTextReader 类&#xff09;1.XML简介1&#xff09;XML 和 HTML 的设计初衷XML 被设计用来传输和存储数据HTML 被设计用来显示数据2&#xff09;什么是 XML?XML 指可扩展标记语言&#xff08;EXtensible Markup Language&#xff09;XML 是一种标记语…

jQ层级选择器

<!DOCTYPE html><html> <head> <meta charset"utf-8" /> <title></title> </head> <body> </body></html> <h1>沁园春雪</h1> <h2>毛***</h2> <div> <span> <d…

spring 获取url参数

1. usl格式&#xff1a; http://localhost:8080/contact/delete/3 java代码 RequestMapping(value"/delete/{id}")public Map<String,Object> delete(PathVariable("id") Integer id){boolean result contactService.deleteContactById(id); 也可以…

leetcode475. 供暖器(二分查找)

冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。 现在&#xff0c;给出位于一条水平线上的房屋和供暖器的位置&#xff0c;找到可以覆盖所有房屋的最小加热半径。 所以&#xff0c;你的输入将会是房屋和供暖器的位置。你将输出供暖器的最小加热半径…

如何在命令行中使用jq将JSON转换为CSV

by Knut Melvr通过纳特梅尔瓦 如何在命令行中使用jq将JSON转换为CSV (How to transform JSON to CSV using jq in the command line) The shell tool jq is awesome for dealing with JSON-data. It can also transform that data into handy CSV-files, ready for all your s…

macaca运行报错之chrome-driver问题处理,关闭 Chrome 的自动更新

自动更新是 Chrome 非常实用的功能之一&#xff0c;但在有些情况下可能还是有关闭自动更新的需求&#xff0c;比如需要用某一个具体的版本来测试一些东西&#xff0c;或者更新之后反而出现了新的 Bug等等。由于一般人没有这样的需求&#xff0c;所以 Google 没有公布关闭自动更…

docker启动sqlserver_Docker搭建SQLServer

一、下载镜像docker pull microsoft/mssql-server-linux二、启动容器docker-composeversion: 3services:sqlserver:image: microsoft/mssql-server-linux:latestrestart: alwaysprivileged: truecontainer_name: sqlserverports:- 1433:1433volumes:- ./data:/var/opt/mssql/da…

【Python】 子进程创建与使用subprocess

subprocess *****本文参考了Vamei大神的http://www.cnblogs.com/vamei/archive/2012/09/23/2698014.html   运用subprocess包可以在运行python的进程下进一步开启一个子进程&#xff0c;创建子进程要注意 1. 父进程是否暂停 2.创建出的子进程返回了什么 3.执行出错&#xff0c…

异步查询回调函数调用

异步查询数据&#xff0c;需要对返回的数据进行后续步骤操作&#xff0c;使用使用方法&#xff1a; 1、new promise方法使用。 2、回调函数使用 使用方式&#xff1a;   pageGetDeviceTreeInfo({deviceTypeAry:[1]},this.getTreeData); 函数&#xff1a; 1 export function p…

前端开发从项目中获得什么_我如何获得副项目的前10个客户以及从他们那里学到的东西...

前端开发从项目中获得什么by Tigran Hakobyan由Tigran Hakobyan 我如何获得副项目的前10个客户以及从他们那里学到的东西 (How I got my first 10 customers for my side-project and what I’ve learned from them) My name is Tigran, I’m 29, and I’m the creator of Cro…

leetcode278. 第一个错误的版本(二分查找)

你是产品经理&#xff0c;目前正在带领一个团队开发新的产品。不幸的是&#xff0c;你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的&#xff0c;所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, …, n]&#xff0c;你想找出导致…

lrzsz   linux与windows互传

2019独角兽企业重金招聘Python工程师标准>>> lrzsz linux与windows互传 # 前提是使用 xshell 或者 securecrt 这两个远程软件&#xff0c;putty不支持 yum install -y lrzsz //安装文件包 linux向windows 传文件使用 &#xff1a; sz 文件名 回…

mysql show 命令_mysql show 相关命令

processlist的show方式是不能使用过滤查找&#xff0c;可能源自MySQL的内部安全机制吧&#xff0c;show是用来查看MySQL内部运行数据&#xff0c;其实processlist就是information_schema数据库中的一张表&#xff0c;那么通过查表的方式肯定是可以的了&#xff1a;SELECT user,…

ordereddict有序字典

import collections as con# 有序添加和取字典元素 ord con.OrderedDict() ord[a] 1 ord[b] 2 ord[c] 3 print(ord, ordereddict)# 移动某元素到最后 ord.move_to_end(a) print(ord, move_to_end)转载于:https://www.cnblogs.com/xh4528/p/6538700.html

Spring: (一) -- 春雨润物之 核心IOC

作为一个Java人&#xff0c;想必都或多或少的了解过Spring。对于其优势也能道个一二&#xff0c;诸如方便解耦、支持AOP编程、支持声明式事务、方便测试等等。Spring也不仅仅局限于服务器端开发&#xff0c;它可以做非常多的事情&#xff0c;任何Java应用都可以在简单性、可测试…

reactjs快速如梦_帮助您理解和创建ReactJS应用的快速指南

reactjs快速如梦此帖子分为2部分 (This Post is divided into 2 parts) The First Part demonstrates how to create a simple React app using ‘create-react-app’ CLI and explains the project structure. 第一部分演示了如何使用“ create-react-app” CLI创建简单的Reac…

leetcode1351. 统计有序矩阵中的负数(二分查找)

给你一个 m * n 的矩阵 grid&#xff0c;矩阵中的元素无论是按行还是按列&#xff0c;都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目。 示例 1&#xff1a; 输入&#xff1a;grid [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]] 输出&#xff1a;8 解释&a…

XUbuntu22.04之跨平台音频编辑工具(平替Audition):ocenaudio(二百零二)

加粗样式 简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#…