牛客等级之题N2(8.19场) 牛妹和01串

欢迎关注我们的公众号:Grand Theft Algorithm
专注算法题解、算法技术文分享
二分法保证教会你


就是个简单的贪心,两个布尔值判断当前段内是否有0和1,若遍历到某一字符时两个布尔值均为True,则可以分一段新的出来,然后两个布尔值更新即可。

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
int a[maxn], b[maxn];

int main() {
    
    
    string s;
    cin >> s;
    bool a1 = false, a2 = false;
    int res = 0;
    for(char c : s) {
    
    
        if(c == '0') {
    
    
            a1 = true;
        } else {
    
    
            a2 = true;
        }
        if(a1 && a2) {
    
    
            res++;
            a1 = false;
            a2 = false;
        }
    }
    cout << res << endl;
    return 0;
}

欢迎关注我们的公众号:Grand Theft Algorithm
专注算法题解、算法技术文分享
二分法保证教会你

猜你喜欢

转载自blog.csdn.net/weixin_42396397/article/details/108103351