How to find the longest substring without repeating characters in TypeScript

1 Answer

0 votes
function findLongestSubstringWithoutRepeatingCharacters(str: string) {
    const str_size: number = str.length;
    let start: number = 0, end: number = 0;
    let start_sub: number = 0, end_sub: number = 0;
    let ASCII: number[] = Array(256).fill(0);
 
    while (end < str_size) {
        if (ASCII[str[end].charCodeAt(0)] > 0) {
            while (str[start] != str[end]) {
                ASCII[str[start].charCodeAt(0)] = 0;
                start++;
            }
            start++;
        }
        else {
            ASCII[str[end].charCodeAt(0)] = end + 1;
            if (end - start > end_sub - start_sub) {
                start_sub = start;
                end_sub = end;
            }
        }
        end++;
    }
     
    for (let i: number = start_sub; i <= end_sub; i++) {
        console.log(str[i]);
    }
}
 
const str = "xwwwqfwwxqwyq";
 
findLongestSubstringWithoutRepeatingCharacters(str);
 
 
 
 
 
/*
run:
    
"x" 
"q" 
"w" 
"y" 
 
*/

 



answered Jul 18, 2023 by avibootz
...