Classe "Suivi de tâches" avec priorités

TypeScript Medium classes

Tâche «Classe "Suivi de tâches" avec priorités»

Implémentez la classe TaskTracker qui gère une liste de tâches avec des priorités (nombre de 1 à 5, où 1 est la plus haute). La classe doit avoir les méthodes : addTask(id, priority) — ajoute une tâche avec l'id spécifié (chaîne de caractères) et la priorité ; removeTask(id) — supprime la tâche par son id ; getTask(id) — retourne la priorité de la tâche ou null si elle n'existe pas ; getHighestPriority() — retourne l'id de la tâche avec la priorité la plus haute (le plus petit nombre). S'il y en a plusieurs — retourner l'id ajouté le plus tôt. S'il n'y a aucune tâche — retourner null. Implémentez les méthodes sans utiliser de tris intégrés, en utilisant une structure de données de votre choix.

Format d\ entrée

Première ligne : nombre N — nombre de commandes. Ensuite N lignes, chacune contient une commande : add id priority, remove id, get id, highest.

Format de sortie

Pour chaque commande get et highest, affichez le résultat sur une ligne séparée. Pour get — un nombre (priorité) ou null, pour highest — id ou null.

Exemples

Exemple 1

ENTRÉE
4 add a 5 add b 5 highest remove a highest
SORTIE
a
main.ts