HackerRank Pattern Count 题解
2017-06-22 18:35
337 查看
题意
对于一个字符串,问其中有多少连续子串是形如1(0+)1的,其中(0+)表示正整数个连续的0思路
从前往后扫,记录开始和结束,和中间0的个数,每一次结束都要后退一个因为有可能这一位是下一个符合要求的串的开始代码
#include <cstdio> #include <cstring> char s[2001]; int main() { int q,l,ans,cnt; bool now; scanf("%d",&q); while(q--) { scanf("%s",s); l=strlen(s); now=false; ans=0; cnt=0; for(int i=0;i<l;i++) { if(now==false&&s[i]=='1') { now=true; cnt=0; } else if(now==true) { if(s[i]=='1') { if(cnt>0) ans++; //printf("i:%d\n",i); now=false; i--; cnt=0; } else if(s[i]!='0') now=false; else if(s[i]=='0') cnt++; } } printf("%d\n",ans); } return 0; }
相关文章推荐
- [生成函数] HackerRank Count Fox Sequences
- [Hackerrank] The Coin Change Problem
- 【HackerRank】How Many Substrings?
- HackerRank "Chocolate in Box" !
- HackerRank Week of Code -18 GG
- HackerRank "Bike Racer"
- HackerRank "Playing with numbers"
- HackerRank "TBS Problem" ~ NPC
- HackerRank - "Candles Counting" - DIFFICULT
- HackerRank Hiring Contest - C The Simplest Sum
- hackerrank初级篇之Diagonal Difference
- [HackerRank 101 Hack 51] Testing the Game
- Hackerrank Connected Cell in a Grid
- HackerRank - Almost Sorted
- 【hackerrank week of code 26】Hard Homework
- hackerrank Lucky Numbers(扩展gcd/规律)
- hackerrank <Team Formation>
- HackerRank - Substring Diff
- hackerrank Most Common
- HackerRank - "String Modification"