🏆 Рейтинг ІТ-работодателей 2019: уже собрано более 5000 анкет. Оцените свою компанию!
×Закрыть

Google hash code 2019 — Just for fun

Пост рассчитан на новичков и программистов с промышленным опытом но без опыта участия в алгоритмических соревнованиях.

Девизом участия в GHC в этом году стало «Just for fun» по ряду причин:

* Алгоритмы и структуры данных не являются моей основной специализацией

* Призовых мест без основательной подготовки тут не получить. Как выглядит человек с основательной подготовкой www.youtube.com/watch?v=kMDSltQN0MY

* Я простудился и вообще официально на больничном

РЕЗУЛЬТАТА
B — Lovely landscapes = 12
C — Memorable moments = 152
D — Pet pictures = 192962
E — Shiny selfies = 112468
Total
303,596 points

По хабу: 17 из 32
По Украине: 192 из 385
Глобально: 3057 из 6671

КОМАНДА
Выступали в 2м. www.linkedin.com/...​/gleb-shvydkov-7b3a19161 и Я. Особо не готовились кроме решения задач на hackerRank в свободное время.

МЕСТО ПРОВЕДЕНИЯ
Особенность GHC это социальная направленность. Компании и коворкинги предоставляют место для проведения соревнований — хабы, но можно и писать из дома. Как показывает практика в хабе веселее. 2й раз участвовал из www.facebook.com/TseHUB . Подал заявку поздно и нам выдали место за барной стойкой) Когда одна из команд свалила — пересели за нормальный стол

СОРЕВНОВАНИЯ
* Прочитать и обсудить задание

* парсинг входных данных. Сделать из примера объекты и конвертировать в выходной формат github.com/...​fe77692b7d9b5e67c60422442 — 45 мин (с учетом прочитать и понять задание)

* простейший брутфорс алгоритм github.com/...​21f993d8b752cb01c7c81c316 — 30 мин

* подсчет очков(чтоб не отсылать каждый раз ответ на сервера гугла, ждать, сравнивать с прошлыми очками) github.com/...​7038f2b0560ade06bc741bb08 — 70 мин (тут потеряли много на суету и попытку делать параллельно)

* Оптимизировать алгоритм — не успели. Потрачено — 60 мин. Отлавливали баги в процессе реализации.

Первые 4 пунктов плохо распараллеливаются между 2мя людьми. Поэтому писали по очереди в духе парного программирования. Иногда все таки делали параллельно и скидывали куски кода по Skype.

Где считали рациональным — добавляли тесты. Примерно каждый час был перерыв на 5-10 минут.

ОПТИМИЗАЦИЯ РЕШЕНИЯ
Задача напоминает en.wikipedia.org/wiki/Knapsack_problem. Идея была в том чтоб после реализации брутфорса добавить подбор оптимального следующего слайда из допустим 10 следующих фотографий используя функцию скоринга.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Подписаться на комментарии