24 de Março
Monotonic Queue
O que monotonic queue significa, quando manter fila em ordem ajuda a responder máximo ou mínimo de janela com eficiencia.
O que e
Monotonic queue e uma fila mantida em ordem para que o melhor candidato da janela fique fácil de acessar.
Ela costuma guardar indices, não só valores.
Quando usar
Ela aparece muito quando o problema pede:
- máximo da janela
- mínimo da janela
- sliding window com consulta repetida de melhor elemento
Erro comum
O erro clássico e pensar “se existe queue, basta enfileirar tudo”.
Se você não remove quem ficou irrelevante, a fila perde o ganho.
Pergunta melhor
Antes de aplicar, vale perguntar:
- a janela anda uma posição por vez?
- eu preciso do melhor elemento da janela o tempo todo?
- alguns elementos antigos já ficaram inutilmente piores que os novos?
Compartilhar esta página
Copie o link manualmente no campo abaixo.