求最长子串长度

题目

在一个以空格分割的字符串,如“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;
}

运行

posted @ 2019-03-15 15:57  SunnyLux  阅读(978)  评论(0编辑  收藏  举报