> Uploading knowledge... _
[░░░░░░░░░░░░░░░░░░░░░░░░] 0%
blog logo
> CHICIO CODING_Pixels. Code. Unplugged.

Longest Substring Without Repeating Characters

Longest Substring Without Repeating Characters

Problem Summary

Given a string s, return the length of the longest substring that contains no repeating characters.

Constraints:

  • The string has between 0 and 50,000 characters.
  • It may contain English letters, digits, symbols, and spaces.

Techniques

  • Hash Table
  • String
  • Sliding Window

Solution

function lengthOfLongestSubstring(s: string): number {
    let currentCharsInSubstring = new Map<string, number>()
    let maxLength = 0
    let startSubString = -1

    for (let i = 0; i < s.length; i++) {
        let currentChar = s.charAt(i)

        if (currentCharsInSubstring.has(currentChar) && currentCharsInSubstring.get(currentChar)! >= startSubString) {
            startSubString = currentCharsInSubstring.get(currentChar)!
        }

        currentCharsInSubstring.set(s.charAt(i), i)
        maxLength = Math.max(maxLength, i - startSubString)
    }

    return maxLength
};