leetcode 刷题记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 刷题记相关的知识,希望对你有一定的参考价值。

1 63. Unique Paths II   带障碍物的路径计算

思路:dp[i][j] = 0 if grid[i][j] = 1 (障碍物)

        再按照无障碍物的逻辑进行计算

技术分享
int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        int rows = obstacleGrid.size();
        if (rows == 0) {
            return 0;
        }
        int cols = obstacleGrid[0].size();
        vector<vector<int>> ways(rows, vector<int> (cols, 1));
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                if (obstacleGrid[i][j] == 1) {
                    ways[i][j] = 0;
                } else {
                    if (i == 0 && j == 0) {
                        ways[i][j] = 1;
                    } else if (i == 0) {
                        ways[i][j] =  ways[i][j - 1];
                    } else if (j == 0) {
                        ways[i][j] = ways[i - 1][j];
                    } else {
                        ways[i][j] = ways[i - 1][j] + ways[i][j - 1];
                    }
                }
            }
        }
        return ways[rows - 1][cols - 1];
    }
View Code

 

以上是关于leetcode 刷题记的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode刷题记——删除排序数组中的重复项

摆烂LuoGu刷题记

Go语言学习基础刷题记(Golang roadmap)2021-07-13

Go语言学习基础刷题记(Golang roadmap)2021-07-13

PE刷题记

单源最短路径刷题记