LeetCode refers to Offer 48. The longest substring without repeated characters

class Solution {
    
    
public:

    int maxFun(int a, int b)
    {
    
    
        return a > b ? a : b;
    }

    int lengthOfLongestSubstring(string s) {
    
    
        
        int n = s.size();
        if (n < 2)
        {
    
    
            return n;
        }

        int left = 0, right = 0;

        unordered_set<char> charset;

        int max_len = -1;

        while (right < n)
        {
    
    
            while (charset.find(s[right]) != charset.end())
            {
    
    
                charset.erase(s[left++]);
            }
            charset.insert(s[right]);

            max_len = maxFun(max_len, right - left + 1);

            right++;
        }

        return max_len;
    }
};

Guess you like

Origin blog.csdn.net/qq_32862515/article/details/109293857