62.不同路径
class Solution {
public:
int uniquePaths(int m, int n) {
vector<int> dp(n, 1);
for(int i =1; i<m; i++)
{
for(int j=1; j<n; j++)
{
dp[j] = dp[j]+ dp[j-1];
}
}
return dp[n-1];
}
};
63. 不同路径 II
class Solution {
public:
int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
vector<int> dp(obstacleGrid[0].size(),0);
dp[0] = 1;
for(int i=0; i<obstacleGrid.size(); i++)
{
for(int j=0; j<obstacleGrid[0].size(); j++)
{
if(j==0) dp[j] = dp[j];
else dp[j] = dp[j-1]+dp[j];
if(obstacleGrid[i][j]==1) dp[j] = 0;
}
}
return dp[obstacleGrid[0].size()-1];
}
};