Bootstrap

求最长子串长度

题目

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

运行

1589160-20190315160223455-736838544.png

转载于:https://www.cnblogs.com/sunnylux/p/10537622.html

;