您的位置:首页 > 其它

696. Count Binary Substrings

2018-01-15 10:10 344 查看




统计1的个数小于等于0的个数,可能为”01”,”001”,”00011”,存在符合条件的字符串

统计0的个数小于等于1的个数,可能为”10”,”110”,”11100”。

int countBinarySubstrings(string s) {
int zeros=0,ones=0,res=0;
for(int i=0;i<s.size();i++){
if(i==0){
(s[i]=='1')?++ones:++zeros;
}else{
if(s[i]=='1'){
ones=(s[i-1]=='1')?ones+1:1;
if(zeros>=ones) ++res;
}else if(s[i]=='0'){
zeros=(s[i-1]=='0')?zeros+1:1;
if(ones>=zeros) ++res;
}
}
}
return res;
}


int countBinarySubstrings(string s) {
int res=0,pre=0,cur=1,n=s.size();
for(int i=1;i<n;i++){
if(s[i]==s[i-1]) ++cur;
else{
pre=cur;
cur=1;
}
if(pre>=cur) ++res;
}
return res;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: