Leetcode Longest Substring Without Repeating Characters解題報告

這個題目就是用一個256大小的數組,因爲ASCII碼能表示的範圍就是256,然後出現一個字母都記住它最新的位置,記住最左邊的位置,相減就是答案了,這個看代碼應該比較容易看懂。。。


class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        vector<int> dist(256,-1);
        int maxlen = 0,start = -1;
        int len = s.length();
        for(int i = 0;i<len;i++)
        {
            start = dist[s[i]]>start?dist[s[i]]:start;
            dist[s[i]] = i;
            maxlen = max(maxlen,i-start);
        }
        return maxlen;
    }
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章