| # | Problema | Dificuldade | Abordagem | Tempo | Espaço | Solução |
|---|---|---|---|---|---|---|
| 1 | Two Sum | 🟢 Easy | Força bruta com dois loops | O(n²) | O(1) | 01 |
| 2 | Add Two Numbers | 🟡 Medium | Soma dígito a dígito com "vai um" | O(max(m,n)) | O(max(m,n)) | 02 |
| 3 | Longest Substring Without Repeating Characters | 🟡 Medium | Janela deslizante | O(n·k) | O(k) | 03 |
| 4 | Median of Two Sorted Arrays | 🔴 Hard | Merge dos dois arrays + mediana | O(m+n) | O(m+n) | 04 |
| 5 | Longest Palindromic Substring | 🟡 Medium | Testa substrings da maior para a menor | O(n³) | O(n) | 05 |
| 6 | Zigzag Conversion | 🟡 Medium | Simula as linhas descendo e subindo | O(n) | O(n) | 06 |
| 7 | Reverse Integer | 🟡 Medium | Inverte a string e checa overflow antes de cada dígito | O(d) | O(d) | 07 |
| 8 | String to Integer (atoi) | 🟡 Medium | Parsing caractere a caractere + limite de 32 bits | O(n) | O(n) | 08 |
| 9 | Palindrome Number | 🟢 Easy | Compara o número com a string invertida | O(d²) | O(d) | 09 |
| 13 | Roman to Integer | 🟢 Easy | Subtrai quando o símbolo é menor que o próximo | O(n) | O(1) | 13 |
nem: tamanho da entrada ·k: tamanho da janela ·d: número de dígitos
Cada arquivo segue o padrão NN-nome-do-problema.cpp e traz:
- o enunciado do problema num comentário no topo;
- a classe
Solutioncom a assinatura usada no LeetCode; - um
maincom um exemplo para testar localmente.
g++ -std=c++17 01-two-sum.cpp -o exec
./execPraticar algoritmos e estruturas de dados, ganhar fluência em C++ e registrar a evolução das soluções ao longo do tempo.