문제 

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 * 10^4
  • s consists of English letters, digits, symbols and spaces.

 

 

코드

var lengthOfLongestSubstring = function(s) {
    let maxLength = 0;
    let str = "";
    for(let i=0; i<s.length; i++) {
        let index = str.indexOf(s[i]);
        if(index != str.length-1) {
            if(index != -1) {
                str = str.slice(index+1);
            }
            str+=s[i];
        }
        else {
            str = s[i];
        }
        if(str.length>maxLength) maxLength = str.length;
    }
    return maxLength==0&&s!=""? 1: maxLength;
};

 

 

+ Recent posts