WEI-CHENG CHEN

說明

找出不含有重複的最長字符

解法:移動窗口

用 set 紀錄,已經在窗口的文字

控制窗口的左右指針:左指針用 left 紀錄,右指針用 right(跑 for 迴圈)紀錄

for 迴圈內可以分為:

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        unordered_set<char> set;
        int n = s.size();
        // NOTE01:
        int left = 0;
        int ans = 0;
        for(int right=0;right<n;right++){
            // 透過左指針移除資料
            while(set.count(s[right])){
                set.erase(s[left]);
                left++;
            }
            set.insert(s[right]); // 透過右指針加資料
            ans = max(ans, right-left+1); // 重新比對
        }
        return ans;
    }
};