63.不同路径2

链接:

63.不同路径2

思路:

对于有障碍的节点map[i][j]=1,dp[i][j]=0。对于无障碍节点map[i][j]=0,若map[i-1][j]=0,则dp[i][j]+=dp[i-1][j];若map[i][j-1]=0,则dp[i][j]+=dp[i][j-1];

实现:

class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>> &obstacleGrid) {
        int m = obstacleGrid.size();
        vector<int> row = obstacleGrid.at(0);
        int n = row.size();
        int path[110][110];
        memset(path, 0, sizeof(path));
        int cnt = 0;
        if (obstacleGrid[0][0] == 0) {
            path[0][0] = 1;
        }
        for (int i = 1; i < m; i++) {
            if (obstacleGrid[i][0] == 1) {
                path[i][0] = 0;
                continue;
            }
            if (obstacleGrid[i - 1][0] == 0) {
                path[i][0] += path[i - 1][0];
            }
        }
        for (int j = 1; j < n; j++) {
            if (obstacleGrid[0][j] == 1) {
                path[0][j] = 0;
                continue;
            }
            if (obstacleGrid[0][j - 1] == 0) {
                path[0][j] += path[0][j - 1];
            }
        }
        for (int i = 1; i < m; i++) {
            for (int j = 1; j < n; j++) {
                if (obstacleGrid[i][j] == 1) {
                    path[i][j] = 0;
                    continue;
                }
                if (obstacleGrid.at(i - 1).at(j) == 0) {
                    path[i][j] += path[i - 1][j];
                }
                if (obstacleGrid.at(i).at(j - 1) == 0) {
                    path[i][j] += path[i][j - 1];
                }
            }
        }
        return path[m - 1][n - 1];
    }
};
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 分治方法 将问题划分成互不相交的子问题 递归地求解子问题 将子问题的解组合起来 动态规划(两个要素:最优子结构、子...
    superlj666阅读 3,529评论 0 0
  • 动态规划(Dynamic Programming) 本文包括: 动态规划定义 状态转移方程 动态规划算法步骤 最长...
    廖少少阅读 8,881评论 0 18
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 9,161评论 0 2
  • 电影在叔侄的背影中结束,音乐响起时,皑皑白雪,我好一会儿都没有回过神来,被一种巨大的悲哀所笼罩,不愿起身,就想在漆...
    任丽阅读 3,456评论 1 2
  • 方正走到小玲身边笑着说道 :“小玲啊,你全名叫什么啊?今年多大了?” 不料方正一番话说完之后,小玲却对方正的话不置...
    长白居士阅读 1,891评论 0 0

友情链接更多精彩内容