Finally finished, learned how not init nested array
This commit is contained in:
31
15/main.py
31
15/main.py
@@ -4,29 +4,31 @@ import numpy as np
|
|||||||
|
|
||||||
|
|
||||||
# Given a grid with start in one corner and goal in opposite corner, find
|
# Given a grid with start in one corner and goal in opposite corner, find
|
||||||
# the number of paths you can take from start to goal
|
# the number of paths you can take from start to goal. Do this for a grid
|
||||||
|
# of 20 by 20
|
||||||
|
|
||||||
|
|
||||||
gs = [[0] * 21] * 21
|
def gridRoutes(x, y, gs):
|
||||||
|
|
||||||
def gridRoutes(x, y):
|
|
||||||
res = 0
|
res = 0
|
||||||
|
|
||||||
if gs[x][y] > 0:
|
if gs[x][y] > 0:
|
||||||
res = gs[x][y]
|
res = gs[x][y]
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if x == 1:
|
if y > x:
|
||||||
res = y + 1
|
h = x
|
||||||
elif y == 1:
|
x = y
|
||||||
|
y = h
|
||||||
|
if y == 1:
|
||||||
res = x + 1
|
res = x + 1
|
||||||
else:
|
else:
|
||||||
res = gridRoutes(x - 1, y) + gridRoutes(x, y - 1)
|
res = gridRoutes(x - 1, y, gs) + gridRoutes(x, y - 1, gs)
|
||||||
|
|
||||||
gs[x][y] = res
|
gs[x][y] = res
|
||||||
print(x, y, res)
|
# print(x, y, res)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
def dumbGridRoutes(x, y):
|
def dumbGridRoutes(x, y):
|
||||||
if x == 1:
|
if x == 1:
|
||||||
return y + 1
|
return y + 1
|
||||||
@@ -39,9 +41,14 @@ def dumbGridRoutes(x, y):
|
|||||||
def main():
|
def main():
|
||||||
print("Hello, this is Patrick")
|
print("Hello, this is Patrick")
|
||||||
|
|
||||||
g = gridRoutes(3, 2)
|
gss = [0] * 21
|
||||||
gd = dumbGridRoutes(3, 2)
|
for i in range(21):
|
||||||
print(g, gd)
|
gss[i] = [0] * 21
|
||||||
|
|
||||||
|
g = gridRoutes(20, 20, gss)
|
||||||
|
# dg = dumbGridRoutes(3, 2)
|
||||||
|
print(g)
|
||||||
|
# print(gss)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
Reference in New Issue
Block a user