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