题目描述
给一行字符串,将单词按空格隔开
样例
abc def jmliknliub
#include<bits/stdc++.h>
using namespace std;
int main(){
string str;
getline(cin,str);
int n=str.size();
for(int i=0;i<n;i++){
int j=i;
while(j<n&&str[j]!=' ') j++;
for(int k=i;k<j;k++) cout<<str[k];
cout<<endl;
i=j;
}
return 0;
}
以下为题目代码:一直保持以j为起点,i为终点的最长不重复序列
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int s[N],a[N];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
int res=0;
for(int i=0,j=0;i<n;i++){
s[a[i]]++;
while(j<i&&s[a[i]]>1){
s[a[j]]--;
j++;
}
res=max(res,i-j+1);
}
cout<<res<<endl;
return 0;
}