1.最长不重复子串:输入一个字符串(‘0’-’9’,’a’-’z’,’A’-’Z’),判断字符串内最长的一个不重复子串的长度。如,aabdcadefg,最长不重复子串为6.
#include<bits/stdc++.h>
using namespace std;
int main(){
vector<char> tamp;
vector<char> max_lenth;
string str;
cin>>str;
vector<char>::iterator it;
for(int i=0;i<str.length();i++){
for(int j=i;j<str.length();j++){
// cout<<"我在"<<endl;
// cout<<str[j]<<endl;
if(find(tamp.begin(),tamp.end(),str[j])==tamp.end()) {
tamp.push_back(str[j]);
if(tamp.size()>max_lenth.size()){
max_lenth.clear();
max_lenth.assign(tamp.begin(),tamp.end());
// for(it=max_lenth.begin();it!=max_lenth.end();it++){
// cout<<*it<<" ";
// }
}
}//tamp.push_back(str[j]);
else{
tamp.clear();
break;
}
}
}
cout<<"最长的长度为:"<<max_lenth.size()<<endl;
for(it=max_lenth.begin();it!=max_lenth.end();it++){
cout<<*it<<" ";
}
cout<<endl;
return 0;
}