LeetCode 3. 无重复字符的最长子串

LeetCode 3. 无重复字符的最长子串

时间复杂度O(n),空间复杂度O(字符集大小)

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        unordered_set<char> occ;  //记录字符是否出现过
        int rk = -1;  //右指针, 还没有开始移动
        int ans = 0;
        for (int i = 0; i < s.size(); ++i)
        {
            if (i != 0)  //右指针无法移动, 左指针移动一个并删除字符
                occ.erase(s[i - 1]);
            while (rk + 1 < s.size() && !occ.count(s[rk + 1]))  //移动右指针
            {
                occ.insert(s[rk + 1]);
                ++rk;
            }
            ans = max(ans, rk - i + 1);
        }
        return ans;
    }
};

 

上一篇:10-K8S之pod网络插件Flannel和canel(网络策略)


下一篇:XP定位(APP元素定位)