Find longest substring without repeating characters | Microsoft Interview Question