O padrão em 30 segundos
O padrão mais básico e mais cobrado: usar um hashmap ou set para trocar busca repetida (O(n²)) por lookup em O(1). Contar frequências, detectar duplicatas, agrupar por chave: quase sempre a resposta é "passa uma vez guardando num mapa".
Como reconhecer na hora
- O problema fala em "duplicata", "frequência", "anagrama" ou "já vi esse valor antes"
- Você se pega escrevendo dois loops aninhados para comparar elementos
- Precisa agrupar coisas por alguma característica comum
onde todo mundo erra · anotado no caderno
Tentar resolver com sort quando um mapa resolve em uma passada: sort custa O(n log n) e o entrevistador vai perguntar se dá pra melhorar. E em anagramas: a chave do grupo precisa ser canônica (letras ordenadas ou vetor de contagem).
Complexidade típica: Tempo O(n), espaço O(n) na maioria dos casos.
Os 9 problemas da categoria
| Problema | Dificuldade | Nível no app |
|---|---|---|
| Contains Duplicate | easy | nível 1 · core |
| Valid Anagram cai muito | easy | nível 1 · core |
| Two Sum cai muito | easy | nível 1 · core |
| Group Anagrams cai muito | medium | nível 2 · core |
| Top K Frequent Elements cai muito | medium | nível 2 · core |
| Encode and Decode Strings | medium | nível 2 · core |
| Product of Array Except Self cai muito | medium | nível 2 · core |
| Valid Sudoku | medium | nível 3 |
| Longest Consecutive Sequence | medium | nível 2 · core |
No app, esses 9 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