当前位置:网站首页>696. 计数二进制子串
696. 计数二进制子串
2022-07-05 08:31:00 【Mr Gao】
696. 计数二进制子串
给定一个字符串 s,统计并返回具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是成组连续的。
重复出现(不同位置)的子串也要统计它们出现的次数。
示例 1:
输入:s = “00110011”
输出:6
解释:6 个子串满足具有相同数量的连续 1 和 0 :“0011”、“01”、“1100”、“10”、“0011” 和 “01” 。
注意,一些重复出现的子串(不同位置)要统计它们出现的次数。
另外,“00110011” 不是有效的子串,因为所有的 0(还有 1 )没有组合在一起。
示例 2:
输入:s = “10101”
输出:4
解释:有 4 个子串:“10”、“01”、“10”、“01” ,具有相同数量的连续 1 和 0 。
这题其实挺复杂,我们需要做很多优化:
int countBinarySubstrings(char * s){
int zerocount=0,onecount=0;
int i;
int count=0;
while(s[i]!='\0'){
int j;
for(j=i;s[j]!='\0';j++){
// printf("--%d %d ",zerocount,onecount);
if(s[j]=='0'){
zerocount++;
if(onecount!=0&&zerocount>onecount){
i=i+zerocount-onecount-2;
onecount=0;
zerocount=0;
break;
}
if(zerocount==onecount){
count=count+zerocount;
i=i+zerocount-1;
onecount=0;
zerocount=0;
break;
}
}
if(s[j]=='1'){
onecount++;
if(zerocount!=0&&onecount>zerocount){
i=i+onecount-zerocount-2;
onecount=0;
zerocount=0;
break;
}
if(zerocount==onecount){
count=count+zerocount;
i=i+zerocount-1;
onecount=0;
zerocount=0;
break;
}
}
}
onecount=0;
zerocount=0;
i++;
}
return count;
}
边栏推荐
- 实例004:这天第几天 输入某年某月某日,判断这一天是这一年的第几天?
- Design a clock frequency division circuit that can be switched arbitrarily
- Sql Server的存储过程详解
- My-basic application 1: introduction to my-basic parser
- DokuWiki deployment notes
- Use indent to format code
- [trio basic from introduction to mastery tutorial 20] trio calculates the arc center and radius through three points of spatial arc
- 每日一题——替换空格
- C language data type replacement
- 99 multiplication table (C language)
猜你喜欢
Management and use of DokuWiki (supplementary)
Daily question - input a date and output the day of the year
实例004:这天第几天 输入某年某月某日,判断这一天是这一年的第几天?
On boost circuit
Talk about the circuit use of TVs tube
STM32 --- serial port communication
Soem EtherCAT source code analysis attachment 1 (establishment of communication operation environment)
【云原生 | 从零开始学Kubernetes】三、Kubernetes集群管理工具kubectl
UE像素流,来颗“减肥药”吧!
Keil use details -- magic wand
随机推荐
Buildroot system for making raspberry pie cm3
Arduino+a4988 control stepper motor
Stm32--- systick timer
2020-05-21
Semiconductor devices (III) FET
关于线性稳压器的五个设计细节
[noi simulation] juice tree (tree DP)
STM32 single chip microcomputer -- debug in keil5 cannot enter the main function
Solutions to compilation warnings in Quartus II
UE pixel stream, come to a "diet pill"!
Several implementation schemes of anti reverse connection protection of positive and negative poles of power supply!
Cinq détails de conception du régulateur de tension linéaire
Lori remote control commissioning record
Sword finger offer 09 Implementing queues with two stacks
leetcode - 445. 两数相加 II
STM32 --- NVIC interrupt
One question per day - replace spaces
Stm32--- systick timer
Talk about the function of magnetic beads in circuits
Is the security account given by Yixue school safe? Where can I open an account