Problemas de DSA

Resuelve problemas reales de entrevistas paso a paso. Desarrolla tus habilidades de resolución de problemas con nuestra colección curada de desafíos de estructuras de datos y algoritmos.

Breadth First Values
easy

Devuelve una lista con los valores de un árbol binario usando recorrido en anchura (BFS).

binary-treebfsqueue
Depth First Values
easy

Devuelve una lista con los valores de un árbol binario usando recorrido en profundidad (DFS).

binary-treedfsstack+1 more
Fibonacci
medium

Calcula el número n en la secuencia de Fibonacci usando recursión optimizada (programación dinámica).

recursiondynamic-programmingmemoization
Graph Has Path
medium

Determina si existe un camino dirigido entre dos nodos en un grafo representado por lista de adyacencia.

graphdfsadjacency-list
Intersection
easy

Dadas dos listas, retorna una nueva lista con los elementos que están presentes en ambas.

arrayhashmapset
Island Count
hard

Cuenta cuántas islas hay en una matriz de agua y tierra, considerando conexiones verticales y horizontales.

matrixdfsconnected-components
Linked List Find
easy

Determina si un valor existe dentro de una lista enlazada.

linked-listrecursioniteration
Linked List Values
easy

Recorre una lista enlazada y devuelve un array con todos los valores de sus nodos.

linked-listrecursioniteration
Most Frequent Char
easy

Dada una cadena, retorna el carácter que más veces aparece. Si hay empate, retorna el que aparece primero.

stringhashmap
Reverse Linked List
medium

Invierte el orden de los nodos de una lista enlazada y retorna el nuevo head.

linked-listin-placeiteration
Sum List
easy

Suma todos los valores numéricos almacenados en una lista enlazada.

linked-listrecursioniteration
Sum Numbers Recursive
easy

Suma todos los números de un arreglo usando recursión en lugar de bucles.

recursionarray
Sum Possible
medium

Determina si es posible formar un número exacto sumando elementos de una lista, reutilizando elementos las veces que sea necesario.

dynamic-programmingrecursiondecision-tree+1 more
Two Sums
easy

Dada una lista de números enteros y un objetivo, encuentra dos números que sumen el objetivo.

arrayhashmap
Undirected Path
hard

Determina si existe un camino entre dos nodos en un grafo no dirigido representado por lista de aristas.

graphdfsundirected