Given a string, find the longest substring with unqiue characters.
Example: a = 'abcdefgabc' ans = 'abcdefg'
We can solve this problem using two-pointers approach.
1. Maintain a map to store the last seen index for a character.
2. Maintain a running window for the substring with unique characters.
3. Whenever a character that's already present in the map is found, and the found index is in the range:
4. Set the start of the window to be index+1 and update the length of the longest substring.