dfs-网格中的路径问题

1. 机器人的路径

有个机器人坐在一个网格的左上角,网格 r 行 c 列。机器人只能向下或向右移动,但不能走到一些被禁止的网格(有障碍物)。设计一种算法,寻找机器人从左上角移动到右下角的路径。

分析:起始点确定(左上角),目标点确定(右下角),只能向下或向右移动,只需求其中一条路径。即满足条件就可返回。

class Solution {
public:
    vector<vector<int>> pathWithObstacles(vector<vector<int>>& obstacleGrid) {
        vector<vector<int>> path;
        if(dfs(obstacleGrid, 0, 0, path))
            return path;
        return {};
        
    }
    bool dfs(vector<vector<int>>& obstacleGrid, int x, int y, vector<vector<int>>& path){
        int r=obstacleGrid.size();
        int c=obstacleGrid[0].size();
        //递归终止条件
        if(x<0 || x>=r || y<0 || y>=c || obstacleGrid[x][y]==1){
            return false;
        }
        obstacleGrid[
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值