题目
在一个以空格分割的字符串,如“asd asdasd sd asdasdas sdasdasdsdd”中,求最长字串长度,时间和空间复杂度尽可能最优
代码
#include <iostream>
using namespace std;
int main()
{
int start=0,end=0,flag=0,temp=0;
char str[]="asd asdasd sd asdasdas sdasdasdsdd";
int len=(sizeof(str)/sizeof(str[0]));
cout<<"字符串长度"<<len<<endl;
while(end<len)
{
if(str[end]==' '||str[end]=='\0')
{
temp=end-start;
if(flag<temp)
{
flag=temp;
start+=(flag+1);
end=start;
}
else
{
start+=(temp+1);
end=start;
}
}
else
{
end++;
}
}
cout<<"最长子串长度"<<flag;
return 0;
}