题目描述
AC代码
f
[
i
]
[
j
]
f[i][j]
f[i][j]表示从起点到
(
i
,
j
)
(i,j)
(i,j)路径的个数。
状态转移方程:
1.机器人向下走:
f
[
i
−
1
]
[
j
]
+
1
f[i-1][j]+1
f[i−1][j]+1
2.机器人向右走:
f
[
i
]
[
j
−
1
]
+
1
f[i][j-1]+1
f[i][j−1]+1
class Solution {
public int uniquePathsWithObstacles(int[][] nums) {
int m=nums.length,n=nums[0].length;
int[][] f=new int[m][n];
for(int i=0;i<m;i++)
for(int j=0;j<n;j++){
if(nums[i][j]==1) continue;
if(i==0&&j==0) f[i][j]=1;
if(i>0) f[i][j]+=f[i-1][j];
if(j>0) f[i][j]+=f[i][j-1];
}
return f[m-1][n-1];
}
}