Janela Deslizante • Intermediario • 20 min
Maior substring sem caracteres repetidos
Como perceber que o problema pede uma janela que expande e contrai, não um recomeco completo a cada repetição.
Problemas de prática com walkthroughs, dicas e soluções.
Filtrar por tipo ou nivel
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.
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.
Frequência e Heap • Intermediario • 20 min
Como contar frequência primeiro e depois escolher só os `k` maiores de forma eficiente.
Pilha • Intermediario • 15 min
Como manter o mínimo atualizado em O(1) com uma estrutura auxiliar simples.
Pilha • Intermediario • 15 min
Como compor duas pilhas para simular fila e entender por que a transferencia sob demanda deixa o custo amortizado baixo.
Programação Dinamica • Intermediario • 18 min
Como modelar a escolha entre roubar ou pular cada casa respeitando a restrição de adjacência.
Busca • Intermediario • 22 min
Como adaptar [`busca binaria`](/pt-br/glossario/binary-search) quando a ordem continua la, mas foi quebrada por uma rotação.
Backtracking • Intermediario • 25 min
Como explorar caminhos em uma grade, marcar a escolha atual e desfazer a decisão ao voltar da busca.
Estruturas de Dados • Intermediario • 30 min
Como combinar [`mapa hash`](/pt-br/glossario/hash-map) com lista duplamente ligada para achar rápido e reorganizar por uso.
Grafos • Intermediario • 25 min
Como transformar pre-requisitos em grafo dirigido e detectar quando uma dependência volta para ela mesma.
Backtracking • Intermediario • 20 min
Como usar backtracking com contadores para podar prefixos inválidos antes que eles virem trabalho desperdicado.
Strings e Expansao • Intermediario • 22 min
Como perceber que todo palindromo tem um centro e usar isso para evitar uma solução de [`programacao dinamica`](/pt-br/glossario/dynamic-programming) mais pesada do que o necessário.
Programação Dinamica • Intermediario • 22 min
Como transformar segmentação de string em [`programacao dinamica`](/pt-br/glossario/dynamic-programming) de prefixos em vez de repetir a mesma tentativa em cada corte.
Matriz • Intermediario • 20 min
Como decompor uma rotação de matriz em transformações simples e fazer isso no próprio lugar com segurança.
Programação Dinamica • Intermediario • 25 min
Como transformar a comparação entre duas strings em uma tabela de subproblemas em vez de repetir escolhas de [`recursao`](/pt-br/glossario/recursion).