-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUniquePaths
More file actions
22 lines (20 loc) · 913 Bytes
/
UniquePaths
File metadata and controls
22 lines (20 loc) · 913 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# There is a robot on an m x n grid. The robot is initially located at the top-left corner (i.e., grid[0][0]).
# The robot tries to move to the bottom-right corner (i.e., grid[m - 1][n - 1]). The robot can only move either down or right at any point in time.
# Given the two integers m and n, return the number of possible unique paths that the robot can take to reach the bottom-right corner.
class Solution(object):
def uniquePaths(self, m, n):
"""
:type m: int
:type n: int
:rtype: int
"""
dp = []
bottomLine = [1] * n
dp.append(bottomLine)
for i in range(m - 2 , -1, -1):
currentLine = [0] * n
currentLine[-1] = 1
for j in range(n - 2, -1, -1):
currentLine[j] = currentLine[j + 1] + dp[-1][j]
dp.append(currentLine)
return (dp[-1])[0]