C++ | Leetcode C++题解之第63题不同路径II

题目:

题解:

cpp 复制代码
class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        int n = obstacleGrid.size(), m = obstacleGrid.at(0).size();
        vector <int> f(m);

        f[0] = (obstacleGrid[0][0] == 0);
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < m; ++j) {
                if (obstacleGrid[i][j] == 1) {
                    f[j] = 0;
                    continue;
                }
                if (j - 1 >= 0 && obstacleGrid[i][j - 1] == 0) {
                    f[j] += f[j - 1];
                }
            }
        }

        return f.back();
    }
};
相关推荐
王老师青少年编程7 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【排序贪心】:纪念品分组
c++·算法·贪心·csp·信奥赛·排序贪心·纪念品分组
tankeven8 分钟前
C++ 学习杂记03:std::string 类
c++
H_BB12 分钟前
动态规划详解
c++·算法·动态规划
始三角龙14 分钟前
LeetCode hoot 100 -- 和为K的子数组
算法·leetcode·职场和发展
_深海凉_19 分钟前
LeetCode热题100-最长递增子序列
算法·leetcode·职场和发展
C语言小火车20 分钟前
嵌入式实习面试问题:那个动态内存是怎么样分配的?
c语言·开发语言·c++·嵌入式硬件·面试
John_ToDebug25 分钟前
Chromium 源码剖析:base::NoDestructor——更安全的静态单例解决方案
开发语言·c++·chrome
tankeven31 分钟前
C++ 学习杂记02:C++模板编程
c++
楼田莉子1 小时前
仿muduo的高并发服务器——前置知识讲解和时间轮模块
服务器·开发语言·c++·后端·学习
OYangxf1 小时前
C++中的回调函数:从函数指针到现代可调用对象
c++