Let's solve the same task as in this challenge but faster!
Input: a non-empty string containing letters a-z
Output: the length of a longest (contiguous) substring in which all letters are different
Time and space complexity: O(n).
The number of letters in the alphabet is 26, or O(1). Make sure you understand how your language works - e.g. if it can't "extract a substring" in O(1) time, you probably can't use substrings in your implementation - use indices instead.
The solution doesn't need to say at which position it found the longest substring, and whether there is more than one. So, for example, if it found a substring of length 26, it can stop searching (this observation will not help you write your implementation).
abcdefgabc -> 7 aaaaaa -> 1 abecdeababcabaa -> 5 abadac -> 3 abababab -> 2 helloworld -> 5 longest -> 7 nonrepeating -> 7 substring -> 8 herring -> 4 abracadabra -> 4 codegolf -> 6 abczyoxpicdabcde -> 10
(I took these directly from the other challenge)