В дополнении к условию был получен комментарий о том, что триплеты должны быть уникальны с точностью до перестановок.
Так же я считаю, что в условии ошибка(в примере Output'a).
В качестве примера использовался набор чисел 1 2 0 3 0 4. Так как перестановки в триплетах не влияют на их уникальность, поэтому данный список можно отсортировать.
Таким образом мы получим список 0 0 1 2 3 4. Из данного списка можно получить такие триплеты, удовлетворяющие изначальные условия задачи:
0 0 1
0 0 2
0 0 3
0 0 4
0 1 2
0 1 3
0 1 4
0 2 3
0 2 4
0 3 4
Пояснения по алгоритму написаны прямо в коде комментариями.
1. В файле .env указать переменные DB_USER(имя пользователя PostgreSQL), DB_USER_PASSWORD(пароль пользователя PostgreSQL) и DB_NAME(название базы данных).
2. Запустить локальный(или нет, если были указаны другие значения переменных DB_HOST и DB_PORT в .env) сервер PostgreSQL.
2.2. Создать базу данных с названием "djangoproject"(или иным, если было указано другое значение переменной DB_NAME в .env).
3. Установить необходимые библиотеки. Это можно сделать командой pip install -r requirements.txt в корневой папке проекта.
4. В терминале написать команду python manage.py makemigrations в корневой папке проекта.
5. В терминале написать команду python manage.py migrate в корневой папке проекта.
6. В терминале написать команду python manage.py runserver в корневой папке проекта.
7. Делать запросы, например из Postman.
Так как четких указаний по запросам не было, поэтому написал самые базовые, хотя, конечно, их можно было бы придумать очень много. Придерживался двух заданных базовых моделей.1. POST /api/mail/create-object - создать объект(письмо/посылку).
2. DELETE /api/mail/delete-object - удалить объект(письмо/посылку).
3. GET /api/mail/get-object - получить данные об объекте(письме/посылки).
4. GET /api/mail/get-objects - получить список объектов(писем/посылок).
5. PATCH /api/mail/give-object - выдать объект(письмо/посылку). Чтобы пометить, что посылка/письмо были переданы получателю.
Так как техническое задание было описано не совсем четко, а базовые модели, как я считаю, составлены не очень корректно, поэтому пришлось вводить такую переменную, как object(которая передается в запросах)Правильнее было связать их отдельной таблицей и разделять на отдельные запросы письма и посылки, но чтобы не отходить от заданных базовых моделей - пришлось выкручиваться и импровизировать.
Еще я добавил поле is_given в базовые модели, описанные в техническом задании для того, чтобы дописать один лишний запрос(просто для количества, хотя никаких критериев по этому поводу не было). Сделал документацию к запросам, ее можно открыть по пути /api/docs