首页 > 其他分享 >矩阵中的路径

矩阵中的路径

时间:2022-12-13 19:44:56浏览次数:39  
标签:return 格子 int 路径 矩阵 size

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。

路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。

如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。

class Solution {
public:
    vector<vector<char>> g;
    int m, n;
    int dx[4] = {-1, 0, 1, 0};
    int dy[4] = {0, 1, 0, -1};

    bool in (int x, int y) {
        return 0 <= x && x < m && 0 <= y && y < n;
    }

    bool dfs (int x, int y, int u, string& s) {
        if (g[x][y] != s[u]) return false;
        if (u == s.size() - 1) return true;

        char c = g[x][y];
        g[x][y] = '*';
        for (int i = 0; i < 4; i++) {
            int tx = x + dx[i];
            int ty = y + dy[i];
            if (in(tx, ty) && g[tx][ty] != '*') {
                if (dfs(tx, ty, u + 1, s)) {
                    return true;
                }
            }
        }
        g[x][y] = c;

        return false;
    }

    bool hasPath(vector<vector<char>>& g_, string s) {
        g = g_;
        if (!g.size() || !g[0].size()) return false;
        m = g.size(), n= g[0].size();

        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (dfs (i, j, 0, s)) return true;
            }
        }

        return false;
    }
};

  

标签:return,格子,int,路径,矩阵,size
From: https://www.cnblogs.com/leetothemoon/p/16979701.html

相关文章

  • [oeasy]python0029_放入系统路径_PATH_chmod_程序路径_执行原理
    ​ 放入路径回忆上次内容上次总算可以把sleep.py直接执行了sleep.py文件头部要声明好打开方式#!/usr/bin/python3用的是python3解释sleep.py修改......
  • SpringBoot2 静态文件路径与接口路径冲突(相同)解决方案
    事情是这样的,最近接手个项目给它底层从ssm整到springboot2+mp由于之前很多xxx.do请求而我又不想用后缀,所以就得匹配全部后缀或者无后缀(方法有很多方案自行百度)......
  • Unity - 粒子系统跟随路径移动
    对于最新版的粒子系统ParticleSystem,要让其跟随路径移动,无非就是借用其自身的API直接为每个粒子设置速度。看一下最终的效果图:编辑器为了能在场景中更方便的编辑路径,我们要......
  • 便历某路径下文件夹,把所有MP3数据读到数据库
    <!--#includefile="Sql_Conn.asp"--><!--#includefile="Inc/Inc.asp"--><!--#includefile="Inc/Config.asp"--><%'本版本为OK版1.0addbyymon2008.11.17functionGe......
  • 剑指offer110:所有路径
    题目:给定一个有n个节点的有向无环图,用二维数组graph表示,请找到所有从0到n-1的路径并输出(不要求按顺序)。graph的第i个数组中的单元都表示有向图中i号节点所能......
  • 剑指offer100:三角形中最小路径之和
    题目:给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点在这里指的是下标与上一层结点下标相同或者等于上一层......
  • 剑指offer99:最小路径之和
    题目:给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:一个机器人每次只能向下或者向右移动一步。示例一:输......
  • 计讯物联5G产品矩阵,构筑工业数字化发展生态
     近日,工信部印发了《工业互联网创新发展行动计划(2021-2023年)》(以下简称《计划》)。《计划》提出,实施网络体系强基行动,推进工业互联网网络互联互通工程,推动IT与OT网络深度......
  • HTML 文件路径
      HTML文件路径文件路径描述了网站文件夹结构中某个文件的位置。文件路径会在链接外部文件时被用到:网页图像样式表JavaScript绝对文件路径绝对文件路径是......
  • 图论-堆-并查集-2503. 矩阵查询可获得的最大分数
    2503.矩阵查询可获得的最大分数DescriptionDifficulty:困难RelatedTopics:给你一个大小为mxn的整数矩阵grid和一个大小为k的数组queries。找出一个大小......