class Solution {
public:
int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
int m=obstacleGrid.size(),n=obstacleGrid[0].size();
vector<vector<long long>>dp(m,vector<long long>(n));
if(obstacleGrid[0][0]) return 0;
dp[0][0]=1;
for(int i=1;i<m;i++) dp[i][0]=obstacleGrid[i][0]?0:dp[i-1][0];
for(int i=1;i<n;i++) dp[0][i]=obstacleGrid[0][i]?0:dp[0][i-1];
for(int i=1;i<m;i++)
for(int j=1;j<n;j++)
dp[i][j]=obstacleGrid[i][j]?0:dp[i-1][j]+dp[i][j-1];
return dp[m-1][n-1];
}
};
不同路径 II
最新推荐文章于 2022-07-12 20:17:42 发布