classSolution: defuniquePaths(self, m: int, n: int) -> int: """ assume we have solved P(i-1,j) and P(i,j-1) then P(i,j)=P(i-1,j)+P(i,j-1) """ P=[[0]*n for _ inrange(m)] for i inrange(n): P[0][i]=1 for j inrange(m): P[j][0]=1 for i inrange(1,m): for j inrange(1,n): P[i][j]=P[i-1][j]+P[i][j-1] return P[m-1][n-1]