Longest Substring Without Repeating Characters

来源:互联网 发布:不可抗力网络剧在线看 编辑:程序博客网 时间:2024/06/03 06:51
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int present[256] ;    
    std::fill_n(present, 256, -1);
    int start, len, max_len;
    int i;
    for (start=0, len=0, max_len=0, i=0; i<s.size(); ++i) {
        int ch = (int) s[i];
        if ( present[ch] < 0|| present[ch] < start) { 
            ++len;
        }
        else {
            len -= present[ch] - start;
            start = present[ch] + 1;   
        }
        present[ch] = i;   
        if (max_len < len)
            max_len = len;
    }
    return max_len;
    }
};
0 0