【LeetCode 0003】【滑动窗口】无重复字符的最长子串

avatar
作者
猴君
阅读量:0
  1. 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 }; 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!