1) Решал задачи по алгоритмам и структурам данных.
Первая задача: реализовать структуру данных "Дек". Дек - это очередь с возможностью добавления и извлечения элементов и в начало и в конец очереди. Требование задачи: использование
кольцевого буфера.
Кольцевой буфер, или
циклический буфер - это буфер фиксированного размера, в котором оба указателя указывают на ячейку с индексом ноль, если очередь пуста. Таким образом массив зациклен.
На решение задачи ушло порядка 5 часов. Зато здорово разобрался как работать с указателями и довольно хорошо понял эту структуру данных.
Вторая задача: реализовать польский калькулятор с использованием стека.
Описание задачи было довольно большим. Думал задача будет сложнее предыдущей. Но по факту оказалась намного проще.
Решил за 90 мин.
2) Создал новый репозиторий на github, в котором буду публиковать свой опыт в освоении алгоритмов и структур данных. Возможно, буду публиковать решения алгоритмических задач с LeetCode, CodeWars, HackerRank
3) Немного изучил аннотацию типов в Python. Почитал, написал код. Проверил как подсвечивается код в vscode и в PyCharm.
В PyCharm все настроено по-умолчанию. Сразу подсвечиваются переменные, в которых есть ошибка.
В vscode нужно произвести дополнительную настройку. Например, выбрать
mypy в качестве линтера.
С аннотацией типов первый раз познакомился примерно пол года назад. Тогда не понял всю важность применения в работе, так как код также хорошо работает и без аннотации типов.
Сейчас убежден, что это обязательное требование в написании кода на питоне.