Introducci贸n
驴Qu茅 es un grafo?
驴Qu茅 es un 谩rbol?
驴Qu茅 es recursi贸n?
Aplicaciones reales de grafos y 谩rboles
Formas de representar un grafo
DFS
An谩lisis de DFS: algoritmo de b煤squeda en profundidad
Programando DFS de forma recursiva
Otras formas de programar DFS
Recorridos y profundidad de un 脕rbol
Sum Root to Leaf Numbers: an谩lisis del problema
Soluci贸n de Sum Root to Leaf Numbers
Playground: Sum Root to Leaf Numbers
Programando Sum Root to Leaf Numbers en Golang
Number of Islands: an谩lisis del problema
Soluci贸n de Number of Islands
Playground: Number of Islands
Programando Number of Islands en Python
Ejercicios recomendados de DFS
Ejercicios resueltos de DFS
BFS
An谩lisis de BFS: algoritmo de b煤squeda en anchura
Programando BFS con Python
Minimum Knights Moves (movimientos de caballo en ajedrez): an谩lisis del problema
Soluci贸n de Minimum Knights Moves
Playground: Minimum Knights Moves
Programando Minimum Knights Moves con Python
Rotting Oranges: an谩lisis del problema
Soluci贸n de Rotting Oranges
Playground: Rotting Oranges
Rotting Oranges con Java
Shortest Bridge Between Islands: an谩lisis del problema
Soluci贸n de Shortest Bridge Between Islands
Playground: Shortest Bridge Between Islands
Programando Shortest Bridge Between Islands con Python
Ejercicios recomendados de BFS
Ejercicios resueltos de BFS
Backtrack
Algoritmo de Backtrack
Letter Combinations of a Phone Number: an谩lisis del problema
Soluci贸n de Letter Combinations of a Phone Number
Programando Letter Combinations of a Phone Number con C++
Playground: Letter Combinations of a Phone Number
Restore IP Addresses: an谩lisis del problema
Programando Restore IP Addresses con C++
Playground: Restore IP Addresses
Word Search: an谩lisis del problema
Soluci贸n de Word Search
Playgrund: Word Search
Programando Word Search JavaScript
Reto: N Queens Puzzle
Ejercicios recomendados de Backtrack
Ejercicios resueltos de Backtrack
Pr贸ximos pasos
驴Qu茅 otros algoritmos y tipos de grafos puedes aprender?
驴Quieres m谩s cursos avanzados de algoritmos?
Contributions 4
Questions 0
Mi soluci贸n:
def numeroDeIslas(mapa):
# Tu c贸digo aqu铆 馃憞
filas = len(mapa)
if filas > 0:
columnas = len(mapa[0])
""" Primera parte encontrar las cooedernas de todos los "1" en el mapa """
coordenadas=[(1,1)]
coordenadas.pop()
index_x = 0
for x in mapa:
index_y =0
for y in x:
if y == "1":
coordenadas.append((index_x, index_y))
index_y += 1
index_x += 1
""" segunda parte encontrar la cantidad de islas en el mapa"""
count_islands = 0
for island in coordenadas:
current_island = [island]
x = island[0]
y = island[1]
if mapa[x][y] == "0":
continue
else:
print(x,y)
count_islands += 1
for here in current_island:
x = here[0]
y = here[1]
mapa[x][y] = "0"
"""up"""
if y+1 < columnas:
if mapa[x][y+1] == "1":
current_island.append((x,y+1))
"""rigth"""
if x+1 < filas:
if mapa[x+1][y] == "1":
current_island.append((x+1,y))
"""down"""
if y-1 >= 0:
if mapa[x][y-1] == "1":
current_island.append((x,y-1))
"""left"""
if x-1 >= 0:
if mapa[x-1][y] == "1":
current_island.append((x-1,y))
return count_islands
Want to see more contributions, questions and answers from the community?