Skip to content

rafaelxo/LEETCODE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 LEETCODE

Top Language Repo Size Stars Last Commit

Repositório de soluções de problemas do LeetCode

Resoluções implementadas em múltiplas linguagens focadas em eficiência e clareza de código


📚 Sobre

Este repositório contém minhas soluções para problemas do LeetCode, uma plataforma de desafios de programação focada em preparação para entrevistas técnicas e aprimoramento de habilidades algorítmicas.

As soluções foram desenvolvidas com foco em:

  • Otimização de complexidade (tempo e espaço)
  • Código limpo e legível
  • Diferentes abordagens para problemas similares
  • Prática de estruturas de dados clássicas
  • Prática com múltiplas linguagens

🎯 Tópicos Abordados

Estruturas de Dados

  • Arrays e Strings: Manipulação, busca e transformações
  • Hash Tables: Mapeamento e busca eficiente (HashMap)
  • Linked Lists: Listas encadeadas e operações
  • Stack: Pilha para validação e parsing
  • Matrix: Matriz de dados

Algoritmos

  • Binary Search: Busca binária em arrays ordenados
  • Sorting: Ordenação para otimização
  • Dynamic Programming: Programação dinâmica
  • Backtracking: Busca recursiva com retrocesso
  • Two Pointers: Técnica de dois ponteiros
  • Divide and Conquer: Dividir para conquistar
  • Greedy: Algoritmos gulosos
  • Sliding Window: Técnica de janela deslizante

Complexidade

As soluções priorizam:

  • ⏱️ Complexidade de Tempo otimizada
  • 💾 Complexidade de Espaço eficiente
  • 🎯 Trade-offs entre tempo e espaço

🛠️ Tecnologias

O repositório utiliza múltiplas linguagens de programação:

Linguagem Uso Principal
C++ STL, templates e alta performance
C# LINQ, generics e estruturas orientadas a objetos
JavaScript Manipulação de arrays e recursão
Kotlin Data classes e programação funcional
Java Collections framework e HashMap
Dart Null safety e programação moderna
Python Soluções concisas e algoritmos eficientes
TypeScript Type safety e interfaces
PHP Manipulação de arrays nativos
C Ponteiros e alocação de memória

💡 Padrões e Técnicas

Otimizações Implementadas

  • Early Termination: Interrupção de loops quando resultado é impossível
  • Space-Time Tradeoff: Uso de estruturas auxiliares para reduzir complexidade temporal
  • In-Place Algorithms: Manipulação sem espaço extra
  • Divide and Conquer: Redução de complexidade através de divisão de problemas
  • Pruning: Corte de ramos impossíveis em algoritmos de backtracking

Casos Especiais Tratados

  • Integer Overflow: Verificações para evitar overflow em operações matemáticas
  • Edge Cases: Arrays vazios, strings vazias, valores negativos
  • Duplicates: Remoção e tratamento de elementos duplicados
  • Null Safety: Validações de ponteiros e referências

🔗 Links Úteis


👤 Autor

GitHub


📄 Licença

Este repositório é destinado a fins educacionais e de estudo.


⭐ Agradecimentos

Se este conteúdo foi útil para você, considere dar uma ⭐ no repositório!


Praticando algoritmos e estruturas de dados diariamente 💪

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •