https://github.com/yankovsky/yandex-algos-training
Решения, подсказки, тесты и утилиты для тренировки по алгоритмам от Яндекса.
https://github.com/yankovsky/yandex-algos-training
algorithmic-training algorithms python yandex yandex-algorithm-trainings
Last synced: 4 months ago
JSON representation
Решения, подсказки, тесты и утилиты для тренировки по алгоритмам от Яндекса.
- Host: GitHub
- URL: https://github.com/yankovsky/yandex-algos-training
- Owner: Yankovsky
- Created: 2021-06-08T10:08:13.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-04T07:20:32.000Z (over 1 year ago)
- Last Synced: 2024-06-04T08:41:57.599Z (over 1 year ago)
- Topics: algorithmic-training, algorithms, python, yandex, yandex-algorithm-trainings
- Language: Python
- Homepage:
- Size: 871 KB
- Stars: 89
- Watchers: 6
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Решения и подсказки к [тренировке по алгоритмам от Яндекса](https://yandex.ru/yaintern/algorithm-training)
## Что есть внутри
- Решения с подсказками и комментариями; рекомендую сначала смотреть md файл по задаче, а потом уже непосредственно код
- Тесты внутри задачи
- [Примеры чтения входных данных](./read_input)
- [Шаблон скрипта решения задачи](./template.py)
- [Tips and tricks](./tricks.md)## Содержание
- :white_check_mark: [10/10] [Домашнее задание #1 "Сложность, тестирование, особые случаи"](hw1/)
- :white_check_mark: [10/10] [Домашнее задание #2 "Линейный поиск"](hw2/)
- 🕑 [9/10] [Домашнее задание #3 "Множества"](hw3/)
- :white_check_mark: [10/10] [Домашнее задание #4 "Словари и сортировка подсчётом"](hw4/)
- 🕑 [9/10] [Домашнее задание #5 "Префиксные суммы и два указателя"](hw5/)
- 🕑 [7/11] [Домашнее задание #6 "Бинарный поиск"](hw6/)
- 🕑 [3/10] [Домашнее задание #7 "Сортировка событий"](hw7/)
- :white_check_mark: [10/10] [Домашнее задание #8 "Деревья"](hw8/)## Как получить подсказку по задаче
Оформите issue здесь или напишите мне в [telegram](https://t.me/OhAndrey)
## Мой подход к решению задач
1. Копирую файл [template.py](./template.py);
2. Меняю название функции;
3. Читаю в задаче секции про входные и выходные данные;
4. Обновляю main, где идёт считывание данных и вывод;
5. По примерам в задаче обновляю тесты, записанные через assert;
6. Перехожу к написанию алгоритма решения задачи.## Общие подсказки
- Обращайте внимание на тему урока
- Обращайте внимание на информацию о входных данных; например, числа могут быть целыми или натуральными,
могут быть разные ограничения на количество входных данных, верхние и нижние границы
- Обращайте внимание на ограничения по памяти и времени## Contributing
Не стесняйтесь оформлять pull request'ы с улучшениями кода, новыми подсказками и тестами к задачам.
В принципе это поддержка open source, будет чем похвастаться на собеседованиях.
Пропинговать меня можно в телеграме.