阅读量:0
- Longest Substring Without Repeating Characters
Given a string s
, find the length of the longestsubstring 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.
Constraints:
0 <= s.length <= 5 * 10^4
s
consists of English letters, digits, symbols and spaces.
JavaScript Solution
/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let ans = 0 if('' === s){ return ans } let [left,right] = [0,-1] // matain the mapping from character to isPresent Flag let flags = {} while(left < s.length){ // mark all different elements as 1s if(( right+1 ) < s.length && !flags[s[right+1]] ){ flags[s[ right+1 ]] = 1 right++ ans = Math.max(ans,right-left+1) }else{ // sliding leftmost 1s to 0s flags[s[left]] = 0 left++ } } return ans };