Arrays e Mapa Hash • Iniciante • 15 min
Duas somas
Como resolver um problema clássico de entrevista explicando o caminho, a troca envolvida e a escolha final.
Problemas de prática com walkthroughs, dicas e soluções.
Filtrar por tipo ou nivel
Arrays e Mapa Hash • Iniciante • 15 min
Como resolver um problema clássico de entrevista explicando o caminho, a troca envolvida e a escolha final.
Arrays e Conjunto • Iniciante • 10 min
Como sair do O(n²) e perceber que o problema só quer saber se você já viu esse valor.
Strings e Contagem de Frequência • Iniciante • 12 min
Como perceber que anagrama e sobre frequência, não sobre ordem, e justificar a troca da ordenação por contagem.
Strings e Dois Ponteiros • Iniciante • 12 min
Como perceber que o problema pede comparação simetrica e não uma pilha de etapas desnecessarias.
Pilha • Iniciante • 15 min
Como perceber que o fechamento precisa casar com a abertura mais recente e por que isso pede pilha.
Arrays e Passada Unica • Iniciante • 15 min
Como sair da comparação de todos os pares e perceber que o problema só pede o menor preco até agora.
Arrays e Programação Dinamica • Iniciante • 18 min
Como perceber que a pergunta certa e se a soma anterior ainda ajuda ou se já esta atrapalhando.
Busca • Iniciante • 15 min
Como usar a ordenação para eliminar metade do espaco de busca e manter um invariante claro.
Lista Encadeada • Iniciante • 15 min
Como sair da reconstrucao com array e entender a ideia central de ponteiros em [`lista encadeada`](/pt-br/glossario/linked-list).
Lista Encadeada • Iniciante • 18 min
Como perceber que as listas já estao ordenadas e que a comparação certa sempre acontece nas cabecas.
Programação Dinamica • Iniciante • 15 min
Como perceber a recorrencia pelas ultimas duas escolhas e usar isso como porta de entrada para programação dinamica.
Janela Deslizante • Intermediario • 20 min
Como perceber que o problema pede uma janela que expande e contrai, não um recomeco completo a cada repetição.
Arrays e Dois Ponteiros • Intermediario • 25 min
Como reduzir um problema de três variáveis para [`dois ponteiros`](/pt-br/glossario/two-pointers) depois de ordenar e controlar duplicatas.
Arrays e Dois Ponteiros • Intermediario • 18 min
Como justificar por que só faz sentido mover o lado menor e usar isso para reduzir a busca.
Mapa Hash • Intermediario • 18 min
Como perceber que o ponto principal não e o mapa em si, mas a escolha de uma chave canonica que represente o grupo.
Arrays e Prefixo/Sufixo • Intermediario • 20 min
Como usar prefixo e sufixo para montar a resposta local de cada índice a partir do contexto dos lados.
Intervalos • Intermediario • 20 min
Como ordenar por início e transformar vários intervalos em uma passada que decide se expande o bloco atual ou abre outro.
Lista Encadeada • Intermediario • 15 min
Como detectar ciclo com ponteiro rápido e ponteiro lento e entender por que velocidades diferentes acabam se encontrando.
Árvores • Iniciante • 10 min
Como perceber que inverter uma árvore e só trocar esquerda e direita em cada no e deixar a recursão cuidar do resto.
Árvores • Iniciante • 10 min
Como medir a altura de uma árvore pensando em folhas, subarvores e na combinação `1 + max(esquerda, direita)`.
Programação Dinamica • Intermediario • 25 min
Como sair da tentativa cega de combinações e montar uma programação dinamica que procura o menor custo para cada valor até o alvo.
Grafos em Grade • Intermediario • 22 min
Como enxergar cada celula como no de um grafo e usar busca em profundidade ou em largura para consumir uma ilha inteira de uma vez.
Árvores • Intermediario • 20 min
Como validar árvore binaria de busca propagando limites na recursão em vez de fazer comparações locais que parecem certas mas quebram.
Árvores • Intermediario • 18 min
Como percorrer uma árvore nivel por nivel usando fila e separar claramente o que pertence ao nivel atual antes de descer.