Count Binary Substrings
给一个binary的string, 求里面有多少个substring是有相同的个数1和0.
这个题直接就count, 然后sliding windows, 然后简化到了只需要记录不同的0 和1的group的最小的.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class Solution { public: int countBinarySubstrings(string s) { int cur = 1; int prev = 0; int res = 0; for(int i = 1; i < s.length(); i++) { if(s[i] != s[i - 1]){ res += min(prev, cur); prev = cur; cur = 1; }else{ cur++; } } return res += min(prev, cur) ; } }; |