Clase "Rastreador de Tareas" con prioridades

TypeScript Medium classes

Tarea «Clase "Rastreador de Tareas" con prioridades»

Implemente la clase TaskTracker, que gestiona una lista de tareas con prioridades (número del 1 al 5, donde 1 es la más alta). La clase debe tener métodos: addTask(id, priority) — agrega una tarea con el id (cadena) y prioridad especificados; removeTask(id) — elimina una tarea por su id; getTask(id) — devuelve la prioridad de la tarea o null si no existe; getHighestPriority() — devuelve el id de la tarea con la prioridad más alta (el número más pequeño). Si hay varias, devolver el id agregado primero. Si no hay tareas, devolver null. Implemente los métodos sin utilizar ordenamientos incorporados, usando la estructura de datos de su elección.

Formato de entrada

Primera línea: número N — cantidad de comandos. Luego N líneas, cada una contiene un comando: add id priority, remove id, get id, highest.

Formato de salida

Para cada comando get y highest, muestre el resultado en una línea separada. Para get — un número (prioridad) o null, para highest — id o null.

Ejemplos

Ejemplo 1

ENTRADA
4 add a 5 add b 5 highest remove a highest
SALIDA
a
main.ts