当前位置: 首页 > news >正文

学校后勤部网站建设方案望野古诗朗读

学校后勤部网站建设方案,望野古诗朗读,wordpress站点地址无法更改,做网站的岗位叫什么问题题目分析 题目: 给定一个 m x n 的二维字符网格 board 和一个字符串 word,判断 word 是否存在于网格中。 • word 可以从网格中的任意位置开始。 • 每次只能向 上下左右 四个方向移动。 • 不能重复使用同一个格子。 解题思路 我们使用 深度优先搜索…

题目分析

题目

给定一个 m x n 的二维字符网格 board 和一个字符串 word,判断 word 是否存在于网格中。

• word 可以从网格中的任意位置开始。

• 每次只能向 上下左右 四个方向移动。

• 不能重复使用同一个格子。

解题思路

我们使用 深度优先搜索(DFS)+ 回溯 进行搜索:

1. 遍历整个 board,找到 word[0] 的起始位置。

2. 从起始位置进行 DFS 递归搜索

• 当前位置是否越界?

• 当前位置字符是否匹配 word[n]?

• n == word.size() - 1 时,找到完整 word,返回 true。

3. 回溯

• 访问过的格子标记为 #,防止重复访问。

• 递归搜索四个方向(上下左右)。

• 递归结束后,恢复原来的字符。

代码实现

详细运行步骤

示例输入

vector<vector<char>> board = {

    {'A', 'B', 'C', 'E'},

    {'S', 'F', 'C', 'S'},

    {'A', 'D', 'E', 'E'}

};

string word = "ABCCED";

Solution sol;

cout << sol.exist(board, word); // 输出:true

回溯过程分析

1. exist() 方法遍历整个 board

for (int i = 0; i < rows; i++) {

    for (int j = 0; j < cols; j++) {

        if (board[i][j] == word[0] && dfs(board, word, i, j, 0)) {

            return true;

        }

    }

}

遍历过程中,找到 word[0] = 'A' 的位置 (0,0),开始 DFS。

2. dfs() 递归过程

递归深度 i, j word[n] 递归方向 说明

1 (0,0) 'A' → (0,1) 匹配,向右搜索

2 (0,1) 'B' → (0,2) 匹配,向右搜索

3 (0,2) 'C' ↓ (1,2) 匹配,向下搜索

4 (1,2) 'C' ↓ (2,2) 匹配,向下搜索

5 (2,2) 'E' ← (2,1) 匹配,向左搜索

6 (2,1) 'D' ✅ 找到完整 word,返回 true

回溯树示意图

        A(0,0)

         ↓

        B(0,1)

         ↓

        C(0,2)

         ↓

        C(1,2)

         ↓

        E(2,2)

         ←

        D(2,1) ✅

关键优化点

避免重复访问:使用 board[i][j] = '#' 标记已访问,递归结束后恢复字符。

剪枝优化:遇到 board[i][j] != word[n] 直接返回 false,避免不必要的递归。

找到 word 立即返回:减少不必要的遍历。

时间复杂度分析

最坏情况:遍历整个 board,每个字符最多进行 4 次递归,时间复杂度 O(m * n * 4^L),其中 m, n 为网格大小,L 为 word 长度。

最优情况:找到 word 立即返回,减少不必要的递归。

总结

1. 遍历 board,找到 word[0] 作为起点

2. 使用 DFS 递归搜索

越界检查

匹配检查

标记访问

递归四个方向

回溯

3. 找到 word 立即返回 true

4. 所有路径遍历完仍未找到,返回 false

http://www.dtcms.com/a/455696.html

相关文章:

  • 做哪种网站能赚到钱服务器网站建设教程
  • 南宁网站seo顾问建筑公司网站石家庄
  • 本地邵阳网站建设贵州企业网站建设设计
  • 网站帮助文档怎么写律师事务所网站制作
  • 网站制作百度网盘wordpress自动发现
  • 临安建设工程规划公示网站建站塔山双喜
  • 传统网站建设架构软件工程考研容易上岸的学校
  • 网网站基础建设优化知识网站设计网站建设网站制作
  • 阜宁做网站哪家最好汕头seo外包
  • 私人做网站有什么用网站建设哪里培训
  • 合肥高端网站建设费用vi设计服务
  • html免费模板网站免费域名空间网站
  • 北京轨道交通建设公司网站高级营销网站建设只需1200元
  • 苏州专业做网站公司wordpress 移除字体
  • 怎样做网站的用户分析百度建站多少钱
  • 做自适应网站注意事项网站备案信息核验单填写
  • 如何用wordpress制作网站教育网站开发需求
  • 江苏工程建设标准网站世界互联网峰会官网
  • 个人网站设计 优帮云极简风格的网站
  • 网站开发小图标怎么设置公司简介模板范文大全
  • 网站建设系统认证系统没有网站如何做淘宝客
  • 优秀网站设计案例finally wordpress主题
  • 哪个网站兼职做设计比较好国外网站推广平台有哪些公司
  • 西安市政道桥建设公司网站金华高端网站建设公司
  • 美化网站代码vip影视网站如何做app
  • 网站一键生成自己网站上做支付宝怎么收费的
  • 筑建网站首页成都青羊区网站建设
  • 选择网站建设公司应该注意什么wordpress证书查询
  • 深圳前海网站设计什么是电商?电商怎么做
  • 百度餐饮网站建设wordpress 关闭功能