class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param x string字符串 * @return int整型 */ bool check(int mid,string s){ int n=s.length(),a=0,b=0,c=0; for(int i=0;i<n;i++){ if(s[i]=='a'&&a!=mid) a++; else if(a==mid&&s[i]=='b'&&b!=mid) b++; else if(b==mid&&s[i]=='c'&&c!=mid) c++; if(c==mid) return 1; } return 0; } int Maximumlength(string x) { int ans=0,l=0,r=x.length()/3; while(l<=r){ int mid=(l+r)>>1; if(check(mid,x)) ans=mid,l=mid+1; else r=mid-1; } return ans*3; } };
全部评论
(1) 回帖