Skip to content

ABrasburg/Problems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

Programming Problems

Coleccion de problemas de programacion en Python, organizada por patrones de resolucion. Cada problema combina una explicacion breve, pistas de enfoque y un archivo ejecutable con asserts simples.

El objetivo es practicar con problemas chicos pero densos: estructuras de datos, recursion, ventanas deslizantes, grafos, programacion dinamica, parsing y razonamiento probabilistico.

Como Leer

  1. Elegi un tema en la tabla de temas.
  2. Abri el .md del problema para leer el enunciado, la intuicion y las pistas.
  3. Intentá resolverlo en el .py.
  4. Ejecutá el archivo para correr los asserts.

Convenciones

  • problems/<tema>/<numero>_<slug>.md: explicacion, intuicion, pistas y complejidad.
  • problems/<tema>/<numero>_<slug>.py: implementacion o archivo de trabajo.
  • Los asserts al final de cada archivo sirven como verificacion rapida.
  • Los problemas en progreso pueden tener pass hasta que la solucion este lista.

Temas

Tema Problemas Enfoque
Arrays y hashing 7 Arreglos, hashing, ventanas e intervalos
Strings y parsing 9 Strings, parsing, prefijos y expresiones
Arboles y grafos 4 Arboles, grafos, grillas y recorridos
Programacion dinamica 3 Recurrencias y optimizacion
Estructuras de datos 4 Listas, pares y estructuras especificas
Probabilidad y aleatoriedad 2 Muestreo y algoritmos probabilisticos
Sistemas y concurrencia 1 Scheduling, timers y concurrencia

Destacados

Indice

# Problema Tema Estado
001 Two Sum Arrays y hashing Resuelto
002 Product Array Arrays y hashing Resuelto
003 Serialize and Deserialize Tree Arboles y grafos Resuelto
004 First Missing Positive Arrays y hashing Resuelto
005 Cons, Car and Cdr Estructuras de datos Resuelto
006 XOR Linked List Estructuras de datos Resuelto
007 Decode Ways Strings y parsing Resuelto
008 Unival Tree Count Arboles y grafos Resuelto
009 Max Non-Adjacent Sum Programacion dinamica Resuelto
010 Job Scheduler Sistemas y concurrencia Resuelto
011 Autocomplete Strings y parsing Resuelto
012 Staircase Programacion dinamica Resuelto
013 Longest Substring With K Distinct Strings y parsing Resuelto
014 Estimate Pi Probabilidad y aleatoriedad Resuelto
015 Reservoir Sampling Probabilidad y aleatoriedad Resuelto
016 Order Log Arrays y hashing Resuelto
017 Longest File Path Strings y parsing Resuelto
018 Sliding Window Maximum Arrays y hashing Resuelto
019 Paint House Programacion dinamica Resuelto
020 Linked List Intersection Estructuras de datos Resuelto
021 Meeting Rooms Arrays y hashing Resuelto
022 Word Break Strings y parsing Resuelto
023 Shortest Path Grid Arboles y grafos Resuelto
024 Locking Binary Tree Arboles y grafos Resuelto
025 Regular Expression Matching Strings y parsing Resuelto
026 Remove Kth Last Linked List Node Estructuras de datos Resuelto
027 Balanced Brackets Strings y parsing Resuelto
028 Text Justification Strings y parsing Resuelto
029 Run-Length Encoding Strings y parsing Resuelto
030 Trapping Rain Water Arrays y hashing Resuelto

About

Este repositorio contiene una colección de problemas de programación y estructuras de datos implementados en Python. Cada archivo aborda un problema específico o implementa una estructura de datos, con soluciones optimizadas y explicaciones claras en los comentarios del código.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages