
LexsZero
05.02.2017
00:18:46

Joric
05.02.2017
00:19:33
я вот прямо сейчас делаю удаление соседних дубликатов inplace для сишной строки за o(n) уже час типа из "aabbbccc" сделать "bc" и это полный кошмар алгоритмически. я наверное совсем тупой. примерно понятно что надо два поинтера, один поставить в начало и добавлять все недубликаты по второму поинтеру но блин не работает. а в гугле даже скомпилить не дают.

LexsZero
05.02.2017
00:20:11

Dolphin
05.02.2017
00:21:03

Google

Joric
05.02.2017
00:21:20
нет, это кажется saber так хайрил
это он давал на дом причем, не на бумажке за 15 минут
необязательно за o(n) но выглядит так что можно за o(n)

Dolphin
05.02.2017
00:22:18
а че не работает?
всмс ошибка как проявляется?

LexsZero
05.02.2017
00:24:05
вейт, я кажется не понял задание. что такое "соседние дубликаты"?

Dolphin
05.02.2017
00:25:09
aa bb cc

LexsZero
05.02.2017
00:25:34
abbbbbbbccccc - что должно быть на выходе?

Dolphin
05.02.2017
00:26:12
abc

Joric
05.02.2017
00:26:30
фига ты быстрый
проверь работает ли "aa"

Dolphin
05.02.2017
00:26:37
:)

Google

LexsZero
05.02.2017
00:26:53
aa превращается в a
не должно?

Dolphin
05.02.2017
00:27:04
""

Joric
05.02.2017
00:27:15
должно быть ""

LexsZero
05.02.2017
00:27:54
то есть четное количество символов обращается в ноль символов, нечетное - в один?

Dolphin
05.02.2017
00:28:01
ab [ bb bb bb cc cc ] c = abc

Joric
05.02.2017
00:30:15
вот я тоже на aa поймался сейчас. но я дольше тебя писал, ты вообще гигант
у меня вот так было
void rdup(char* s) {
for(char *b=s, *p=s; *p; p++) {
if (*p!=*(p+1)) {
*b++ = *p++;
if (*b) *b++=*p;
}
}
}
я уже по всякому, и с двумя индексами чтобы не запутаться

Dolphin
05.02.2017
00:31:29
по выходу нужно в p1 - 0 записывать

Joric
05.02.2017
00:31:50
void rdup2(char *a) {
int i=0, j=0;
while(a[j]) {
if (a[j]!=a[j+1]) {
if (a[i]) a[i++] = a[j];
if (a[i]) a[i++] = a[j+1];
j+=2;
} else
j++;
}
}
тоже не работает

Dolphin
05.02.2017
00:32:28
на аа проверял? ))

Joric
05.02.2017
00:33:34
код в три тильды надо оборачивать обязательно похоже. иначе никак

Stanislav
05.02.2017
00:33:56

Dolphin
05.02.2017
00:34:15

Stanislav
05.02.2017
00:34:25
что ?

Dolphin
05.02.2017
00:35:33
а не гоню

Joric
05.02.2017
00:36:33

Google

Dolphin
05.02.2017
00:36:39
ага

Stanislav
05.02.2017
00:36:57
вы чем то бессмысленным занимаетесь. сдвиги не пайплайнятся

Dolphin
05.02.2017
00:37:01
по выходу в i+1 - 0 записывай

Joric
05.02.2017
00:37:21
в смысле

Dolphin
05.02.2017
00:37:41
у тебя строка не обрезается )

Joric
05.02.2017
00:37:54
этой штуке ничто не мешает работать за o(n), ничто!

Dolphin
05.02.2017
00:38:27

Joric
05.02.2017
00:40:01
насчет сдвигов кстати. я недавно только узнал сдвиг массива на произвольное число k за o(2n) без доп памяти. надо разделить его по точке k%n, флипнуть отдельно левую и правую половины и потом флипнуть сам массив. сроду бы не догадался.
vector<int> array_left_rotation(vector<int> &a, int n, int k) {
k = n-(k%n);
for (int i = 0, j = n-k-1; i < j; i++, j--) swap(a[i], a[j]);
for (int i = n-k, j = n-1; i < j; i++, j--) swap(a[i], a[j]);
for (int i = 0, j = n-1; i < j; i++, j--) swap(a[i], a[j]);
return a;
}
долбаный телеграм строки длиннее 40 символов ломает

Dolphin
05.02.2017
00:42:37
хм
такие вот штучки были присущи олдскульной демосцене, и алгоритмы не раздавались на халяву )

LexsZero
05.02.2017
00:43:29
char str[] = "aabbbccc";
char *p1 = str, *p2 = str;
int c = 1;
while (*p2++) {
if (*p2 == *p1) {
c ^= 1;
} else {
p1 += c;
c = 1;
*p1 = *p2;
};
}
работает и на aa
// дети, никогда так не пишите.

Dolphin
05.02.2017
00:43:53
вот, с ноликом вконце правильно
Лекс, нахуй с? ))

LexsZero
05.02.2017
00:44:30
а, он там кстати нахуй не нужен

Dolphin
05.02.2017
00:44:34
ааа ок

LexsZero
05.02.2017
00:44:43
нолик, а не ц

Google

Dolphin
05.02.2017
00:45:34
почему не нужен? проверь на аа

Joric
05.02.2017
00:45:49
я проверил без нолика ок

Dolphin
05.02.2017
00:46:12
ааа

LexsZero
05.02.2017
00:46:17
проверил, пустая строка. потому что на последней итерацией цикла *p1 (буква) != *p2 (нолик), и он копируется

Joric
05.02.2017
00:46:17
чудовищный мозг, вот ему в гугл надо а не мне

Dolphin
05.02.2017
00:46:20
ок
да, да, дошло
я тока встал, туго сращиваю еще )
Лекс, дуй давай в гуглы ))

Admin
ERROR: S client not available

LexsZero
05.02.2017
00:47:12
меня не взяли

Joric
05.02.2017
00:47:35

Dolphin
05.02.2017
00:47:38
Слишком крут для гугла, ну и хуй с ними ))

LexsZero
05.02.2017
00:47:47
ну меня эйчары гугловские находили как-то
собеседовали сначала про сишку, а потом почему-то начали на SRE админскую херню про траблшутинг спрашивать (хотя скорее на общую прыщеэрудицию), а я ее слил, потому что это надо регулярно с этим всем сталкиваться

Dolphin
05.02.2017
00:49:59
хм

Joric
05.02.2017
00:50:02
вот у меня тоже
но я и код просрал от нервов
говно написал какоето, не мог потом еще раз глазами просмотреть все

Google

Dolphin
05.02.2017
00:50:42
Жорик, спасибо за задачку кста! Я на ее базе шейдер напишу для детектора контуров ))

LexsZero
05.02.2017
00:52:18
чудовищный мозг, вот ему в гугл надо а не мне
сложное детство: вместо того чтоб бухать с одноклассниками, я занимался олимпиадным программированием. а с олимпиадной математикой не вышло, я ее прогуливал чтоб бухать с одноклассниками.

Dolphin
05.02.2017
00:52:52
:)

Joric
05.02.2017
00:54:13
меня потыкали рылом в файловую систему линукса а я её плохо знаю, на практике уж точно. т.е. inode и блоки знаю кое-как но как оно работает толком я без понятия. оно еще и по разному совсем в ext2-3-4
ну у меня теперь есть 18 месяцев чтобы все узнать по новой
я только боюсь что поезд ушел и меня просто не примут собеседоваться больше

LexsZero
05.02.2017
00:55:18
я про айноды нес чушь уверенным голосом, оказалось что почти угадал (хоть представлял достаточно смутно и половину придумывал на ходу)

Joric
05.02.2017
00:55:31
аналогично

Dolphin
05.02.2017
00:55:40

Joric
05.02.2017
00:56:35

LexsZero
05.02.2017
00:57:30
да чтоб я помнил, это 3.5 года назад было. вроде нормально.

Joric
05.02.2017
00:57:53
а ну переаплайся по новой че ты
я вот сейчас сижу, по уши в россии, работы нет толком, амазон не отвечает, фейсбук плюется на отсутствие h1b
в принципе можно удалёночку найти но у меня так толком и не было отпуска а опять в ярмо рано что то мне кажется

LexsZero
05.02.2017
01:00:53
https://whoishiring.io/ тыкал? агрегатор вакансий из стартапов из HN, реддита, стекэксченжа и еще чего-то

Joric
05.02.2017
01:01:36
мне еще говорят что h1b в этом году уже поздно она подается в апреле а два месяца вообще не срок для рекрутеров

Stanislav
05.02.2017
01:22:58
я комплексую. все должны хотеть в гугл ?

Joric
05.02.2017
01:24:12
ну в общем да. зарплаты там хорошие. чего бы не хотеть.

Stanislav
05.02.2017
01:24:34
ну в наркобизнесе тоже хорошие зарплаты

Joric
05.02.2017
01:25:14
ну я не знаю а что из айтишных компаний кажется интереснее гугла

Stanislav
05.02.2017
01:25:41
смотря что интересно
mapbox няши