Предлагаю прикрепить тему как "важную" и копить тут задачки/решения, что попадались на интервью...
Речь, не о каком-лобо конкретном языке, но об алгоритме. (я лично, предпочитаю Си для пододных случаев)
Для затравки.
Самому попалось:
1. how to remove duplicate characters in a string?
abcabc -> abc
abcabcdabcdefg -> abcdefg
Алгоритм прикинул, что надо завести HASH, где отмечать всем прибывших...
Не ответ, но алгоритм дает, просто и надеюсь со вкусом:
Code: Select all
#include <stdio.h>
#include <strings.h>
#define LEN 256
main()
{
char str[] = "agaabbbcccdddaeffffffffg", *s1, *s2;
short table[LEN];
bzero( table, sizeof( table ) );
printf( "1st: %s\n", str );
for ( s1 = s2 = str; *s2; )
{
table[*s1]++;
while ( table[*++s2] );
*++s1 = *s2;
}
printf( "2nd: %s\n", str );
}