C++,同样的代码我在leetcode上都过了,这里没过。用java同样的逻辑写了一遍也过了。
这是代码,最后一个样例没过
#include <bits/stdc++.h> using namespace std;
bool check(string& l,char c) {
for(int i=0;i<l.length();i++)
{
if(c==l[i])
{
return false;
}
}
return true;
}
int main() {
string a;cin>>a;
int n = a.length();
if(n==0)
{
cout<<0;
return 0;
}
int i=0;
int j=1;
string l="";
l+=a[0];
//cout<<l<<endl;
int ans = 1;
while(j<n)
{
char c = a[j];
if(check(l,c))
{
l.push_back(c);
}
else
{
i=l.find(c)+1;
l.push_back(c);
l=l.substr(i);
//cout<<"sub"<<l<<endl;
}
//cout<<l<<endl;
int len= l.length();
ans = max(ans,len);
j++;
}
cout<<ans;
}