#include <iostream>
#include <string>
#include <vector>
using namespace std;
void util (string &s, int & max, int start, int end) {
vector<int> arr(256,-1);
int cnt = 0;
int i;
if (start >= end) return;
for (i = start; i<end; i++) {
if (arr[s[i]] == -1) {
cnt++;
arr[s[i]] = i;
} else {
break;
}
}
if (cnt>max) max = cnt;
arr.clear();
if (i<end)
util (s, max, arr[s[i]]+1, end);
}
int lengthOfLongestSubstring(string s) {
int max = 0;
util(s, max, 0, s.size());
return max;
}
int main() {
string s = "";
cout <<lengthOfLongestSubstring(s);
return 0;
}
No comments:
Post a Comment