Leetcode Unique Paths II

来源:互联网 发布:player for mac 编辑:程序博客网 时间:2024/06/07 18:36

题意:Unique Path的衍生题,加入了障碍物。

思路:DP,将障碍物的dp值置为0。

class Solution {public:    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {        vector<vector<int> > dp = obstacleGrid;                if(obstacleGrid[0][0] == 1) return 0;        else dp[0][0] = 1;        for(int i = 0; i < dp.size(); ++ i) {            for(int j = 0; j < dp[i].size(); j ++) { if(i == 0 && j == 0) continue;                if(obstacleGrid[i][j] == 1) {                    dp[i][j] = 0;                    continue;                }                int up = 0;                int bf = 0;                if(i - 1 >= 0) up = dp[i - 1][j];                if(j - 1 >= 0) bf = dp[i][j - 1];                dp[i][j] = up + bf;            }        }                return dp[dp.size() - 1][dp[0].size() - 1];    }};


0 0
原创粉丝点击