Solving LeetCode - Longest Substring Without Repeating Characters
pharia-le
Posted on November 8, 2020
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...
Attempt 2...
💖 💪 🙅 🚩
pharia-le
Posted on November 8, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
webdev Understanding HTTP, Cookies, Email Protocols, and DNS: A Guide to Key Internet Technologies
November 30, 2024