## DEV Community is a community of 605,868 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

loading... # Question

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.
``````

Example 4:

``````Input: s = ""
Output: 0
``````

Constraints:

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

## Let's Go!

Solve by using PREP.

• P - A string s of letters, digits, symbols and spaces
• R - Return a number which is the length of the Longest Substring Without Repeating Characters
• E - Examples provided by question. (See Above)
• P - See Below

### Attempt 1

``````var lengthOfLongestSubstring = function(s) {
const arr = s.split('')
let charMap = {}
let count = [ 0 ]

for (let i=0; i<arr.length; i++) {
if (!charMap[arr[i]]) {
count[count.length - 1] = count[count.length - 1]+1
charMap[arr[i]] = 1
} else {
charMap = {}
charMap[arr[i]] = 1
count[count.length] = 1
}
}
return count.reduce((max, current) => current > max ? current : max)
};

``````

### Results of Attempt 1

``````console.log(lengthOfLongestSubstring("abcabcbb")) // 3 - PASS
console.log(lengthOfLongestSubstring("aab")) // 2 - PASS
console.log(lengthOfLongestSubstring("dvdf")) // 2  - FAIL (CORRECT is 3)
``````

To Be Continued...

## Discussion (0) 