educative.io

No Repeat Substring - Without Trick

static int findLength(const string& str) {

    int windowStart = 0;

    int maxLength = 0;

    set<char> entries;

    int windowEnd = 0;

    while( windowEnd < str.length()) {

      if(entries.find(str[windowEnd]) != entries.end()) {

        entries.erase(str[windowStart]);

        windowStart++;

      } else {

        entries.insert(str[windowEnd]);

        maxLength = max(maxLength, int(entries.size()));

        windowEnd++;

      }

    }

    return maxLength;

  }