
Andrey
24.01.2017
23:49:26
что с реальными данными, которых много (а значит хеш таблица log n раз пересоздается) практически нереально

Roman
24.01.2017
23:51:23
это как?
seen, result = set(), set()
И потом итерация с:
if i in seen: result.add(i)
else: seen.add(i)

Andrey
24.01.2017
23:52:48
да, такое должно быть быстрее каунтера, можно по нему не итерироваться в конце. но это совсем немного должно быть

Google

Andrey
24.01.2017
23:54:07
типа (n + уникальных элементов) против (n + нужных элементов)

Roman
24.01.2017
23:56:30
Вообще, интереснее было вариант с d = defaultdict(int) и d[i] += 1 и последующей проверкой d[i] > n

Sasha
25.01.2017
00:01:55
тут ограничения на эл-ты

Roman
25.01.2017
00:05:00

Sasha
25.01.2017
00:05:10
прошу прощения :) не заметил default`DICT`

Roman
25.01.2017
00:05:45
В дикте значения - число раз сколько встретился элемент

Sasha
25.01.2017
00:07:10
мне что-то померещелось сортировка подсчетом
ну в принципе это оно и есть только с вычислением хэш-функции, видимо collections.Counter должен быть так реализован

Vitali K.
25.01.2017
05:13:03
Есть другая версия. Массив 101 элемент. В нем числа от 1 до 100. Найти то, что встречается дважды

Аркадий
25.01.2017
05:15:09

Nikita
25.01.2017
05:22:56

Danil
25.01.2017
05:39:53
Ага sum(x) - 5050

Google

Vitali K.
25.01.2017
06:47:28
Есть еще задачка про мышей и молоко. Есть 1000 бутылок молока, 10 мышей и 10 мисочек. В одной из бутылок яд. Нужно определить в какой за наименьше количество экспериментов.

Danil
25.01.2017
06:56:41
задачки из сборника "Логические задачки для детей начальной школы"? =)

Roman
25.01.2017
07:00:45

Vitali K.
25.01.2017
07:01:55

Danil
25.01.2017
07:02:01
неа, так вроде не получится, будет примерно 2 + ln(10)
мышь после первого захода умрет же

Sergey
25.01.2017
07:06:15

Roman
25.01.2017
07:09:49

Sergey
25.01.2017
07:14:37

Vitali K.
25.01.2017
07:23:35
@pragus @nonamenix а какое решение вы подразумеваете? :)

Danil
25.01.2017
07:23:54
смешивать

Vitali K.
25.01.2017
07:24:14
а как смешивать?

Danil
25.01.2017
07:45:53
* отходил
Смешиваем сначал по 100, нашли мышь, которая послужила идентификатором яда (читай умерла), теперь у нас 100 потенциальных бутылок. но при этом 9 мышей. теперь смешиваем по 11 + в одной 12. - одна мышь. Пусть будет 12, и 8 мышей. осталось два шага

Roman
25.01.2017
07:54:40

Vitali K.
25.01.2017
07:55:09
Мешать можно

Danil
25.01.2017
07:55:22
А вот умрет ли мышь от такой дозировки?

Vitali K.
25.01.2017
07:55:26
да

Danil
25.01.2017
07:57:08
А что считается экспериментом?
Здесь в лучшем 3, в худшем 4.

Google

Vitali K.
25.01.2017
08:00:43
или проводишь смешивание

Danil
25.01.2017
08:10:16

Vitali K.
25.01.2017
08:10:31
Окей :) Как это сделать за 1 эксперимент?
Это не собеседование)) просто задачка интересная

Danil
25.01.2017
08:11:02
смешивание с пересечениями
давай, это на завтра оставим )
Будем на пиве проверять какое отравлено https://www.meetup.com/spbpython/events/236815174/

Dmitry
25.01.2017
08:13:55
ага
10 питонист и 1000 бокалов пива

Danil
25.01.2017
08:14:27
звучит весьма эпично

Vitali K.
25.01.2017
08:15:28
эпичнее 300 спартанцев

Roman
25.01.2017
08:35:27
Огонь. Оказывается, в pthreads можно mutex между процессами в shared memory

Andrey
25.01.2017
09:18:12

Roman
25.01.2017
09:20:14

Aleksander
25.01.2017
09:20:20
для идентичности
10 питонистов, 10 бокалов, 1000 бочек

Danil
25.01.2017
09:20:55

Aleksander
25.01.2017
09:22:33

GNU/Docker
25.01.2017
09:30:18
найти где водка
нужно что-то что косило бы питонистов

Google

Serge
25.01.2017
09:40:08

Vitali K.
25.01.2017
09:42:05
Хочу быть точным. Я не знаю что они сейчас используют, но когда набирали первых инженеров, то использовали
и да там ex-google)
Есть еще интересная задачка про коней

Serge
25.01.2017
09:44:50

Vitali K.
25.01.2017
09:45:02

Dmitry
25.01.2017
09:45:56
недавно задачку про шнуры решал. Есть два бикфордова шнура. Каждый сгорает за час, но неравномерно. Нужно отмерить 45 минут.

Admin
ERROR: S client not available

Dmitry
25.01.2017
09:48:16
и задачку про числа в массиве тоже недавно решал, а ещё видел как рукс в твиттере тоже с ней столкнулся. Видно, попсовая

Serge
25.01.2017
09:48:18

Dmitry
25.01.2017
09:48:38

Serge
25.01.2017
09:49:07
Там так-то вообще вариантов немного

Dmitry
25.01.2017
09:49:39
берёшь лист бумаги и чертишь дерево вариантов - от общего к частному. Зачёркиваешь невозможные. Помогает как минимум часто понять направление куда ещё подумать
я правда не знаю, ТРИЗ он об этом или нет (я триз не изучал)
но было бы круто найти книжку именно по методам подхода к таким задачкам

Serge
25.01.2017
09:51:52

Dmitry
25.01.2017
09:52:07
ну у меня сложился какой-то свой метод подхода
типа, сначала пробуем в лоб. Потом пробуем нарисовать на бумажке. Проверяем всякие идеи что пришли за это время

Google

Dmitry
25.01.2017
09:53:09
Но это скорее из какого-то опыта и по наитию
В голове не могу, всё рисую максимально
без визуализации думать вообще не получается. Даже в метро чтобы понять куда сесть я представляю в голове две линии (вниз и вверх), по которым бегут стрелочки от меня

GNU/Docker
25.01.2017
09:56:04
Метод подхода
Задача про шнуры клёвая, да.

Aleksander
25.01.2017
10:00:52

Dmitry
25.01.2017
10:06:52
я решил в 2017 решать задачки постоянно, а то в случае чего достаточно серьёзные технические интервью отваливаются из-за непрокачанности скилла задачек
работу можно и без этого найти, споров ноль, но если хочется условный саундклауд/заландо/пивотал (т.е что-то с именем минимально), туда задачки спрашивают

Aleksander
25.01.2017
10:28:08
ты же вчера вроде хотел свой проект сделать - чтобы харизмы прокачать - с проектом проще попасть в топ какой-нибудь)
на сколько помню это был оин из вариантов как технарю устроится в гугл или FB
на хорошую позицию

Eugene
25.01.2017
10:37:05
Вроде как где-то писали, что нет исследований, подтверждающих, что умение решать подобные логические задачи (про шнуры, например) как-то коррелирует с умением решать технические и инженерные задачи, разрабатывать архитектуру, алгоритмы и т. д. То есть, ценность таких задач не доказана, пока что они могут помочь почесать ЧСВ спрашивающего и отвечающего, ну или наоборот, снизить самооценку отвечающего. :)

Dmitry
25.01.2017
10:37:48
на мой взгляд никак оно не связано с разработкой
но мир таков, и adapt or die. Не сторонник ломать тренд, всегда веселее сесть ему на крыло :)

Danil
25.01.2017
10:39:00
хвост обычно сильно трясёт.
UPD. на крыле еще и ветер

Eugene
25.01.2017
10:39:13
Скорее такие задачи обучают мозг мыслить определённым образом (настраивают веса нейросети, да). Это как олимпиадное программирование

Danil
25.01.2017
10:39:41

Dmitry
25.01.2017
10:41:10
потому что смысл был не тот )

Eugene
25.01.2017
10:42:27
Сейчас уже стали отходить от задавания логических задач, больше спрашивают в таком ключе "а разработайте упрощённый аналог X" или "Что происходит, когда вы делаете Y"

Dmitry
25.01.2017
10:44:37
я вообще люблю формат 'задушевные беседы за жизнь + покодить/пообсуждать код'