Longest Substring Without Repeating Characters

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.

solution:

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
    if(!s){
       return 0;
    }
    let set = new Array();
    let arr = s.split("");
    let max = 0;
    for (let i=0;i<arr.length;i++) {
        let index = set.indexOf(arr[i]);
        if(index>-1){
           max = max>set.length?max:set.length;
           set = cleanRepeat(set,index)
        } 
        set[set.length]= arr[i] ;
    }
    max = max>set.length?max:set.length;
    return max;
};

function cleanRepeat(set, index){

    return set.splice(index+1);
}

results matching ""

    No results matching ""