文章
40
粉丝
512
获赞
99
访问
396.0k
 
#include<bits/stdc++.h>
using namespace std;
int main(){
    string str;
    while(cin>>str){
        map<int,int> m;
        int n=str.size();
        int dp[n];
        dp[0]=0;
        for(int i=1;i<=n;i++){
            if(str[i-1]=='0'){
                dp[i] = dp[i-1]-1;
            }else{
                dp[i] = dp[i-1]+1;
            }
        }
        int ans=0;
        int b=0;
        for(int i=1;i<=n;i++){
            b = m[dp[i]];
            if(b==0&&dp[i]!=0){
                m[dp[i]]=i;
            }else{
                if(i-b>ans){
                    ans = i - b;
                }
            }
        }
        cout<<ans<<endl;
    }
}
登录后发布评论
你这代码21-24行太绝了,牛鼻