DEV Community

Cover image for 3. Longest Substring Without Repeating Characters
Munisekhar Udavalapati
Munisekhar Udavalapati

Posted on

3. Longest Substring Without Repeating Characters

Given a string s, find the length of the longest
substring
without repeating characters.


Example 1:

Input: s = "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3.
Example 2:

Input: s = "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.
Example 3:

Input: s = "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3.
Notice that the answer must be a substring, "pwke" is a subsequence and not a substring.

Enter fullscreen mode Exit fullscreen mode

Constraints:
0 <= s.length <= 5 * 104
s consists of English letters, digits, symbols and spaces.

var lengthOfLongestSubstring = function(s) {
    let n = s.length;
    let maxLength = 0;
    let lastIndex = new Map();

    let start = 0;
    for (let end = 0; end < n; end++) {
        let currentChar = s[end];
        start = Math.max(start, lastIndex.get(currentChar) || 0);
        maxLength = Math.max(maxLength, end - start + 1);
        lastIndex.set(currentChar, end + 1);
    }

    return maxLength;
};
Enter fullscreen mode Exit fullscreen mode

Top comments (0)