Finally finished, learned how not init nested array

This commit is contained in:
2020-04-09 02:14:55 +02:00
parent 5c638b32a7
commit cb444f8946

View File

@@ -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()