最长不含重复的子串长度

#include <bits/stdc++.h>
using namespace std;
int last[256];
int maxLengthNoRepeat( string s )
{
	int	start		= 0;
	int	maxLength	= 0;
	fill( last, last + 256, -1 );
	int flag = 0;
	for ( int i = 0; i != s.size(); ++i )
	{
		if ( last[s.at( i )] >= start )
		{
			flag		= 1;
			maxLength	= max( maxLength, i - start );
			start		= last[s.at( i )] + 1;
		}
		last[s.at( i )] = i;
	}
	return(max( (int) s.size() - start, maxLength ) );
}


int main()
{
	printf( "%d", maxLengthNoRepeat( "aabfbe" ) );
	return(0);
}

原创文章 54 获赞 168 访问量 63万+

猜你喜欢

转载自blog.csdn.net/bojie5744/article/details/51073749
今日推荐