Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .github/workflows/check-solutions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,3 @@ jobs:
- name: Check code format
run: |
ruff format --check ./solutions ./homeworks

- name: Test code
run: |
pytest -v --cov=./solutions ./tests/

- name: Test code hw
run: |
pytest -v --cov=./homeworks ./tests_hw/
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
**Условие:**
Дан список целых чисел, который может быть не отсортирован. Требуется определить, можно ли расположить элементы этого списка в таком порядке, чтобы они образовывали арифметическую прогрессию. Арифметическая прогрессия — это последовательность чисел, в которой разность между любыми двумя соседними элементами постоянна. Например, последовательности `[1, 3, 5, 7]` и `[10, 5, 0, -5]` являются арифметическими прогрессиями, а `[1, 2, 4]` — нет.

Допишите код в файле [task1](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson04/task1.py).
Допишите код в файле [task1](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson04/task1.py).

**Входные данные:**
- `lst` — список целых чисел:
Expand All @@ -28,7 +28,7 @@

Дан список отрезков на числовой прямой. Каждый отрезок задаётся парой целых чисел — его левой и правой границей (включительно). Требуется объединить все пересекающиеся или касающиеся отрезки и вернуть список непересекающихся отрезков, покрывающих ту же область.

Допишите код в файле [task2](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson04/task2.py).
Допишите код в файле [task2](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson04/task2.py).

**Входные данные:**
- `intervals` — список списков целых чисел:
Expand Down Expand Up @@ -57,7 +57,7 @@

Ваша задача — найти этого самопровозглашённого индивидуалиста, используя минимально возможную память и ровно один проход по данным. Решение должно работать за O(N) по времени и O(1) по памяти — потому что даже уникальность не отменяет законы эффективности.

Допишите код в файле [task3](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson04/task3.py).
Допишите код в файле [task3](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson04/task3.py).

**Входные данные:**
- `nums` — список целых чисел:
Expand All @@ -82,7 +82,7 @@

После перестановки вам нужно сообщить, **с какого индекса начинается «нулевая зона»** — это поможет другим модулям знать, где заканчиваются полезные данные.

Допишите код в файле [task4](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson04/task4.py).
Допишите код в файле [task4](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson04/task4.py).

**Входные данные:**
- `nums` — список целых чисел:
Expand Down Expand Up @@ -113,7 +113,7 @@

И чтобы не тратить драгоценное время на перебор всей матрицы, нужно сделать это **максимально эффективно** — за **O(N + M)**, где `N` — число серверов, `M` — число временных интервалов.

Допишите код в файле [task5](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson04/task5.py).
Допишите код в файле [task5](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson04/task5.py).

**Входные данные:**
- `matrix` — список списков целых чисел:
Expand All @@ -140,7 +140,7 @@

Ваша задача — определить, **сколько всего независимых циклов** спрятано в этом массиве.

Допишите код в файле [task6](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson04/task6.py).
Допишите код в файле [task6](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson04/task6.py).

**Входные данные:**
- `arr` — список целых чисел:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

Ваша задача — определить, является ли заданная строка палиндромом.

Допишите код в файле [task1](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson05/task1.py).
Допишите код в файле [task1](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson05/task1.py).

**Входные данные:**
- `text` — строка, состоящая из букв английского алфавита в верхнем и нижнем регистре длиной от 0 до 1000.
Expand All @@ -28,7 +28,7 @@

Ваша задача — определить, являются ли два заданных слова анаграммами. Решение должно работать за **O(N + M)** времени и использовать не более **O(1)** дополнительной памяти (где **N** и **M** — длины слов).

Допишите код в файле [task2](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson05/task2.py).
Допишите код в файле [task2](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson05/task2.py).

**Входные данные:**
- `word1` — непустая строка из букв английского алфавита (верхний и нижний регистр), длиной от 1 до 1000;
Expand All @@ -53,7 +53,7 @@

Пустая строка **не считается** строкой из пунктуации.

Допишите код в файле [task3](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson05/task3.py).
Допишите код в файле [task3](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson05/task3.py).

**Входные данные:**
- `text` — строка из букв, цифр, пробелов и знаков препинания, длиной от 0 до 1000 символов.
Expand All @@ -79,7 +79,7 @@

Ваша задача — реализовать **разархиватор**: по заархивированной строке восстановить исходный текст.

Допишите код в файле [task4](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson05/task4.py).
Допишите код в файле [task4](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson05/task4.py).

**Входные данные:**
- `compress_text` — строка, содержащая токены, разделённые пробелами, длиной не более 1000. Каждый токен состоит:
Expand Down Expand Up @@ -116,7 +116,7 @@

*Использование модуля `re` или других инструментов для работы с регулярными выражениями запрещено.*

Допишите код в файле [task5](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson05/task5.py).
Допишите код в файле [task5](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson05/task5.py).

**Входные данные:**
- `reg_expr` - cтрока, состоящая из букв `d`, `w` и `s` и символов (не буквы и не цифры) - регулярное выражение. Длина строки находится в диапазоне от 0 до 10;
Expand Down Expand Up @@ -152,7 +152,7 @@

Если изначальный путь поднимается выше корневого каталога, например, `/../` или `/a/../../`, то необходимо вернуть пустую строку.

Допишите код в файле [task6](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson05/task6.py).
Допишите код в файле [task6](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson05/task6.py).

**Входные данные:**

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

Ваша задача заключается в том, чтобы реализовать функционал для получения произвольного числа независимых функций `get_avg()`.

Допишите код в файле [task1](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson08/task1.py).
Допишите код в файле [task1](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson08/task1.py).

**Входные данные:**

Expand Down Expand Up @@ -57,7 +57,7 @@ assert math.isclose(get_avg(-2), -1)

Ваша задача - реализовать функционал для сбора статистик в виде параметризованного декоратора.

Допишите код в файле [task2](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/lesson08/task2.py).
Допишите код в файле [task2](https://github.com/EvgrafovMichail/python_mipt_dafe_tasks/blob/main/solutions/sem01/lesson08/task2.py).

**Входные данные:**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,4 @@

- Для объектов типа `Vector2D` определена операция вычисления сопряженного вектора. Для вектора `v1` с абсциссой `abs1` и ординатой `ord1` сопряженным вектором будет называться такой вектор `v1`, абсцисса которого `abs2` будет равна `abs1`, а ордината `ord2` будет равна `-ord1`. Операция должна возвращать новый объект типа `Vector2D`.

Помогите К. реализовать задуманный объект. Добавьте свой код в файле [task1](../../solutions/lesson11/task1.py).
Помогите К. реализовать задуманный объект. Добавьте свой код в файле [task1](../../../solutions/sem01/lesson11/task1.py).
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
- Последний чанк может содержать **меньше элементов**, если размер исходного итерируемого объекта не делится нацело на `size`;
- Если исходный итерируемый объект пуст, генератор не должен выдавать ни одного чанка.

Допишите код в файле [task1](../../solutions/lesson12/task1.py).
Допишите код в файле [task1](../../../solutions/sem01/lesson12/task1.py).

**Входные данные:**
- `iterable` — любой итерируемый объект
Expand Down Expand Up @@ -40,7 +40,7 @@ tuple(chunked(range(10), 4))

Реализуйте функцию, которая на вход получает итерируемый объект и возвращает циклический генератор.

Допишите код в файле [task2](../../solutions/lesson12/task2.py).
Допишите код в файле [task2](../../../solutions/sem01/lesson12/task2.py).

**Входные данные:**

Expand Down Expand Up @@ -93,7 +93,7 @@ with FileOut("test.txt") as file_manager:
sep="\n",
)
```
Допишите код в файле [task3](../../solutions/lesson12/task3.py).
Допишите код в файле [task3](../../../solutions/sem01/lesson12/task3.py).

**Вход**:

Expand Down
Loading