def unique_paths(m,n):
dp=[[1]*n for _ in range(m)]
for i in range(1,m):
for j in range(1,n):
dp[i][j]=dp[i-1][j]+dp[i][j-1]
return dp[m-1][n-1]
public int uniquePaths(int m,int n){
int[][] dp=new int[m][n];
for(int[] row:dp) Arrays.fill(row,1);
for(int i=1;i<m;i++)
for(int j=1;j<n;j++)
dp[i][j]=dp[i-1][j]+dp[i][j-1];
return dp[m-1][n-1];
}
Grid DP. Python list comprehension vs Arrays.fill per row.
def unique_paths(m,n):
dp=[[1]*n for _ in range(m)]
for i in range(1,m):
for j in range(1,n):
dp[i][j]=dp[i-1][j]+dp[i][j-1]
return dp[m-1][n-1]
public int uniquePaths(int m,int n){
int[][] dp=new int[m][n];
for(int[] row:dp) Arrays.fill(row,1);
for(int i=1;i<m;i++)
for(int j=1;j<n;j++)
dp[i][j]=dp[i-1][j]+dp[i][j-1];
return dp[m-1][n-1];
}
1. Initialize with 1s 2. Sum from top and left