不同路徑 II

在這裏插入圖片描述

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];
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章