Classe "Rastreador de Tarefas" com prioridades
TypeScript
Medium
classes
Tarefa «Classe "Rastreador de Tarefas" com prioridades»
Implemente a classe TaskTracker, que gerencia uma lista de tarefas com prioridades (número de 1 a 5, onde 1 é a mais alta). A classe deve ter os métodos: addTask(id, priority) — adiciona uma tarefa com o id (string) e prioridade fornecidos; removeTask(id) — remove uma tarefa pelo id; getTask(id) — retorna a prioridade da tarefa ou null, se ela não existir; getHighestPriority() — retorna o id da tarefa com a prioridade mais alta (menor número). Se houver mais de uma, retorne o id adicionado primeiro. Se não houver tarefas, retorne null. Implemente os métodos sem usar ordenações embutidas, utilizando uma estrutura de dados de sua escolha.
Formato de Entrada
A primeira linha: número N — quantidade de comandos. Em seguida, N linhas, cada uma contendo um comando: add id priority, remove id, get id, highest.
Formato de Saída
Para cada comando get e highest, imprima o resultado em uma linha separada. Para get — um número (prioridade) ou null, para highest — id ou null.
Exemplos
Exemplo 1
ENTRADA
4
add a 5
add b 5
highest
remove a
highest
SAÍDA
a
main.ts