Sunday, April 16, 2017

Longest Substring Without Repeating Characters C++

#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