JSFiddle - React, Tailwind, and code Playground

by Steven Senkus

JavaScript

var lengthOfLongestSubstring = function(s) {
    let foundChars = [];
    let longestPattern = '';
    for (let i = 0; i < s.length; i++) {
   //     console.log('----------------------');
     //   console.log(s[i]);
        foundChars.push(s[i]);
        if (s.length === 1) {
            longestPattern = s[i];
            break;
        }
        for (let j = i + 1; j < s.length; j++) {

            if (foundChars.indexOf(s[j]) !== -1) {
                let foundPattern = s.slice(i, j);
                if (longestPattern.length < foundPattern.length) longestPattern = foundPattern
                foundChars = [];
                break;
            } else {
         //       console.log(s[j], j);
                foundChars.push(s[j]);
                if (s.length === j+1) {
                	let foundPattern = s.slice(i, j);
                    console.log('foundPattern', foundPattern);
                    if (longestPattern.length < foundPattern.length) longestPattern = foundPattern
                foundChars = [];
                	break;
                }
            }
        }
    }
    return longestPattern.length;
};


console.log(lengthOfLongestSubstring('abcabcbb')) // === 'abc';
console.log(lengthOfLongestSubstring("bbbbb"))
console.log(lengthOfLongestSubstring('pwwkew'))
console.log(lengthOfLongestSubstring(' '))
console.log(lengthOfLongestSubstring('au'))