JSFiddle - React, Tailwind, and code Playground

by Paco86

JavaScript

function findLongestSubstring(str) {
	let longest = 0;
  let dupIndex = 0;
  let mapping = {};
  debugger;
  for (let i = 0; i < str.length; i ++) {
  	if(mapping[str[i]]) {
    	//dupIndex = Math.max(mapping[str[i]], dupIndex);
      dupIndex = mapping[str[i]];
    }
    
    longest = Math.max(longest, i - dupIndex + 1);
    mapping[str[i]] = i + 1;
  }
  return longest;
}

console.log(findLongestSubstring('abba'));