https://www.ernbook.com/algorithms-length-of-the-longest-substring-without-repeating-characters/