Skip to content

Commit c2935e4

Browse files
authored
Unique Path_dp
Initial File
1 parent bb8d715 commit c2935e4

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

Unique Path

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#Recursive Approach
2+
3+
def path(arr,X,Y):
4+
sizeX = len(X)
5+
sizeY = len(Y)
6+
if(X >= sizeX or Y >= sizeY):
7+
return 0
8+
elif (arr[X][Y] == 1):
9+
return 0
10+
elif(X == sizeX-1 and Y == sizeY-1):
11+
return 1
12+
return self.path(arr, X + 1, Y) + self.path(arr, X, Y + 1)
13+
14+
15+
#Dynamic Programming
16+
17+
def UniquePath(arr):
18+
dp=[[0] *len(arr[0])for i in arr]
19+
if(arr[0][0]==0):
20+
dp[0][0]=1
21+
22+
for i in range(1,len(arr)):
23+
if arr[i][0]==0:
24+
dp[i][0]=dp[i-1][0]
25+
26+
for j in range(1,len(arr[0])):
27+
if arr[0][j]==0:
28+
dp[0][j]=dp[0][j-1]
29+
30+
for i in range(1,len(arr)):
31+
for j in range(1,len(arr[0])):
32+
if arr[i][j]==0:
33+
dp[i][j]=dp[i-1][j]+dp[i][j-1]
34+
35+
return dp[-1][-1]

0 commit comments

Comments
 (0)