added longest substring without dup char algorithm