Класс "Трекер задач" с приоритетами

TypeScript Средний classes

Задача «Класс "Трекер задач" с приоритетами»

Реализуйте класс TaskTracker, который управляет списком задач с приоритетами (число от 1 до 5, где 1 — наивысший). Класс должен иметь методы: addTask(id, priority) — добавляет задачу с указанным id (строка) и приоритетом; removeTask(id) — удаляет задачу по id; getTask(id) — возвращает приоритет задачи или null, если её нет; getHighestPriority() — возвращает id задачи с наивысшим приоритетом (наименьшее число). Если таких несколько — вернуть id, добавленный раньше. Если задач нет — вернуть null. Реализуйте методы без использования встроенных сортировок, используя структуру данных по вашему выбору.

Формат ввода

Первая строка: число N — количество команд. Далее N строк, каждая содержит команду: add id priority, remove id, get id, highest.

Формат вывода

Для каждой команды get и highest выведите результат на отдельной строке. Для get — число (приоритет) или null, для highest — id или null.

Примеры

Пример 1

ВВОД
4 add a 5 add b 5 highest remove a highest
ВЫВОД
a
main.ts