首页 > 其他分享 >剑指 Offer 12. 矩阵中的路径(中等)

剑指 Offer 12. 矩阵中的路径(中等)

时间:2023-08-10 21:22:54浏览次数:56  
标签:12 word Offer int 矩阵 traversal board return row

题目:

class Solution {
public:
    int row, col;
    bool traversal(vector<vector<char>>& board, string word, int i, int j, int k){        //传入棋盘,字符串,当前棋盘元素坐标,字符串索引
        if(i<0||i>=row||j<0||j>=col||board[i][j]!=word[k]) return false;                  //越界或者元素不相等,返回false
        if(k==word.size()-1) return true;                                                 //字符串索引到达终点,说明全部匹配
        board[i][j]='\0';                         //修改为空字符来标记,防止之后重复搜索
        bool res = traversal(board, word, i+1, j, k+1)||traversal(board, word, i-1, j, k+1)  //按照下、上、右、左的顺序递归
        ||traversal(board, word, i, j+1, k+1)||traversal(board, word, i, j-1, k+1);
        board[i][j] = word[k];      //回溯当前元素
        return res;
    }
    bool exist(vector<vector<char>>& board, string word) {
        row = board.size();
        col = board[0].size();
        for(int i = 0; i < row; i++){
            for(int j = 0; j < col; j++){
                if(traversal(board, word, i, j, 0)) return true;
            }
        }
        return false;
    }
};

以上方法转自:
作者:Krahets
链接:https://leetcode.cn/problems/ju-zhen-zhong-de-lu-jing-lcof/solutions/103929/mian-shi-ti-12-ju-zhen-zhong-de-lu-jing-shen-du-yo/
来源:力扣(LeetCode)

标签:12,word,Offer,int,矩阵,traversal,board,return,row
From: https://www.cnblogs.com/fly-smart/p/17621533.html

相关文章

  • LeetCode从算法到算命—1281.整数的各位积和之差(20230809)
    1281.整数的各位积和之差题目信息给你一个整数n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。示例1:输入:n=234输出:15解释:各位数之积=2*3*4=24各位数之和=2+3+4=9结果=24-9=15示例2:输入:n=4421输出:21解释:各位......
  • 力扣---1289. 下降路径最小和 II
    给你一个 nxn 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。 示例1:输入:grid=[[1,2,3],[4,5,6],[7,8,9]]输出:13解释:所有非零偏......
  • 在库存数量的条件约束下,求满足产品需求的材料投入数量矩阵X的所有可行解,即BX=AC,求X
    问题有r种元素,某产品的元素构成比例为矩阵A;有n种材料,元素构成比例为矩阵B;已知该产品的需求量为C,材料的库存数量为矩阵D;在库存数量的条件约束下,求满足产品需求的材料投入数量矩阵X的所有可行解,即BX=AC,求X的所有可行解.提示当元素数量r=材料数量n时,有唯一解当r<n时,有多个......
  • 《剑指Offer》-46-把数字翻译成字符串
    读题数字0~25分别对应了a~z一共26个字母现在给一个数字,比如12258,问可能对应多少种不同的翻译?比如:1,2,2,5,812,2,5,812,25,81,22,5,81,2,25,8一共5种思路使用动态规划的三要素:数组元素定义数组初始化状态转移方程1225有几种可能的翻译?1,2,2,51,22,51,2,2512,2,512,25也......
  • 12.窗口监听事件
    也没啥,就是之前讲过的此外值得注意的点也就,匿名内部类的使用而已packageGUI;importjava.awt.*;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;publicclassTest12_Windows{publicstaticvoidmain(String[]args){newWind......
  • Microsoft SQL Server 2012 Updates / RTM (11.00.2100) / SP1 (11.0.3000.0 or 11.1.
    SQLSERVER2012SP4UpdateVersion:MSSQL2012SP4SECURITYUPDATE,Build:11.0.7507.2/11.4.7507.2,KB:KB4583465,ReleaseDate:January2021,Download:https://support.microsoft.com/en-us/topic/kb4583465-description-of-the-security-update-for-sql-serve......
  • 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(12):相似形理论
    目录前言往期文章3.3线性变换的最简矩阵表示-相似形理论3.3.1一般数域上矩阵相似最简形定义3.9定理3.3.1前言Hello!小伙伴!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算......
  • 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(13):Hamliton-Cay
    目录前言Hello!小伙伴!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖…已保研。目前正在学习C++/Linux/Python学习经验:扎实基础+多做笔记+......
  • 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(15):矩阵的范数
    前言Hello!小伙伴!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖…已保研。目前正在学习C++/Linux/Python学习经验:扎实基础+多做笔记+多......
  • 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(16):向量和矩阵的
    前言Hello!小伙伴!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖…已保研。目前正在学习C++/Linux/Python学习经验:扎实基础+多做笔记+多......