Архив за Январь, 2022

Скобочная последовательность

Вот какую задачу Тимофей предложил на собеседовании одному из кандидатов. Если вы с ней ещё не сталкивались, то наверняка столкнётесь –— она довольно популярная. Дана скобочная последовательность. Нужно определить, правильная ли она. Будем придерживаться такого определения: пустая строка —– правильная скобочная последовательность; правильная скобочная последовательность, взятая в скобки одного типа, –— правильная скобочная последовательность; правильная скобочная последовательность […]

Стек — MaxEffective

Реализуйте класс StackMaxEffective, поддерживающий операцию определения максимума среди элементов в стеке. Сложность операции должна быть O(1). Для пустого стека операция должна возвращать None. При этом push(x) и pop() также должны выполняться за константное время. Формат ввода В первой строке записано одно число — количество команд, оно не превосходит 100000. Далее идут команды по одной в […]

Стек — Max

Нужно реализовать класс StackMax, который поддерживает операцию определения максимума среди всех элементов в стеке. Класс должен поддерживать операции push(x), где x – целое число, pop() и get_max(). Формат ввода В первой строке записано одно число n — количество команд, которое не превосходит 10000. В следующих n строках идут команды. Команды могут быть следующих видов: push(x) […]

Всё наоборот

Вася решил запутать маму – делать дела в обратном порядке. Список его дел теперь хранится в двусвязном списке. Напишите функцию, которая вернёт список в обратном порядке. Внимание: в этой задаче не нужно считывать входные данные. Нужно написать только функцию, которая принимает на вход голову двусвязного списка и возвращает голову перевёрнутого списка. Ниже дано описание структуры, […]

Заботливая мама

Мама Васи хочет знать, что сын планирует делать и когда. Помогите ей: напишите функцию solution, определяющую индекс первого вхождения передаваемого ей на вход значения в связном списке, если значение присутствует. Внимание: в этой задаче не нужно считывать входные данные. Нужно написать только функцию, которая принимает на вход голову списка и искомый элемент, а возвращает целое […]

Нелюбимое дело

Вася размышляет, что ему можно не делать из того списка дел, который он составил. Но, кажется, все пункты очень важные! Вася решает загадать число и удалить дело, которое идёт под этим номером. Список дел представлен в виде односвязного списка. Напишите функцию solution, которая принимает на вход голову списка и номер удаляемого дела и возвращает голову […]

Список дел

Васе нужно распечатать свой список дел на сегодня. Помогите ему: напишите функцию, которая печатает все его дела. Известно, что дел у Васи не больше 5000. Внимание: в этой задаче не нужно считывать входные данные. Нужно написать только функцию, которая принимает на вход голову списка и печатает его элементы. Ниже дано описание структуры, которая задаёт узел […]

Мониторинг

Алла получила задание, связанное с мониторингом работы различных серверов. Требуется понять, сколько времени обрабатываются определённые запросы на конкретных серверах. Эту информацию нужно хранить в матрице, где номер столбца соответствуют идентификатору запроса, а номер строки — идентификатору сервера. Алла перепутала строки и столбцы местами. С каждым бывает. Помогите ей исправить баг. Есть матрица размера m × […]

Создание нового проекта, настройка подключения к БД

Для создания нового проекта в Django используется команда startproject утилиты django-admin: django-admin startproject <название проекта> [<путь к каталогу проекта>] Путь можно не указывать – в этом случае папка будет создана в текущем каталоге с именем, совпадающим с названием проекта. В дальнейшем данную папку можно переименовать или перемещать в другое место, на работоспособность проекта это не […]

Подготовка к работе перед созданием проекта

Перед стартом нового проекта на Django следует выполнить начальную подготовку. Необходимо проверить версии используемого ПО – среды Python и серверных СУБД (если используется). - Python должен быть не ниже версии 3.6 (версия 2 не поддерживается). Дистрибутив можно загрузить по ссылке https://www.python.org/downloads; - MySQL версии не ниже 5.6; - MariaDB версии не ниже 10.1 - PostgreSQL […]