O padrão em 30 segundos
Fila de prioridade: acesso O(1) ao maior/menor, inserção O(log n). O padrão de entrevista é "top K": manter um heap de tamanho K enquanto o stream passa. Também: mediana com dois heaps, merge de K listas.
Como reconhecer na hora
- "K maiores/menores/mais frequentes", reflexo: heap de tamanho K
- Mediana em stream → dois heaps balanceados
- "Merge K listas ordenadas" → heap com a cabeça de cada lista
onde todo mundo erra · anotado no caderno
Ordenar tudo (O(n log n)) quando um heap de tamanho K faz em O(n log K): com K pequeno é diferença real e o entrevistador VAI cobrar. Em JS não tem heap nativo: saiba esboçar um ou negocie usar sort declarando o custo.
Complexidade típica: O(n log K) no padrão top-K; construir heap de n elementos é O(n).
Os 7 problemas da categoria
| Problema | Dificuldade | Nível no app |
|---|---|---|
| Kth Largest Element in a Stream | easy | nível 1 |
| Last Stone Weight | easy | nível 1 |
| K Closest Points to Origin cai muito | medium | nível 2 |
| Kth Largest Element in an Array cai muito | medium | nível 2 |
| Task Scheduler cai muito | medium | nível 2 |
| Design Twitter | medium | nível 3 |
| Find Median From Data Stream cai muito | hard | nível 4 · core |
No app, esses 7 problemas entram numa trilha de 4 níveis com marcação do que mais cai em entrevista, e você registra tentativa, revisão e domínio de cada um.
Abrir a trilha NeetCode no app