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

专业小程序开发定制公司sem优化服务公司

专业小程序开发定制公司,sem优化服务公司,推广普通话 奋进新征程,广州住房和城乡建设部网站首页文章目录 题目描述思路分析完整代码 题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成&#xff…

文章目录

  • 题目描述
  • 思路分析
  • 完整代码

题目描述

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

在这里插入图片描述

例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母已标出)。
示例 1:
输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABCCED”
输出:true

示例 2:
输入:board = [[“a”,“b”],[“c”,“d”]], word = “abcd”
输出:false

思路分析

一道非常经典的矩阵搜索题。

直接回溯。

1.确定循环体

肯定是要遍历矩阵中的每一个格子,以每一个格子为起点向外搜索。

for i in range(len(board)):for j in range(len(board[0])):

2.确定回溯体参数

显然需要当前遍历的格子下标i和j,还需要当前遍历的单词下标k。
def dfs(i,j,k):

3.确定回溯体

在回溯的过程中,如果遇到边界,则立即回退,遇到不符合单词的字符,也立即回退。

if not 0<=i<len(board) or not 0<= j<len(board[0])  or board[i][j] != word[k]:return False           

当前遍历单词的下标k如果遍历到最后了,说明此时找到了完整的单词:

if len(word)-1 == k:return True

后面就是连续的三步,
1,首先将所有遍历过的格子都弄成空,防止重复遍历。
2. 回溯寻找当前格子的四周。
3. 回退的时候将变空的格子变回原来的数值。

            board[i][j] = ' 'res = dfs(i-1,j,k+1) or dfs(i,j-1,k+1) or dfs(i+1,j,k+1) or dfs(i,j+1,k+1)board[i][j] = word[k]

完整代码

class Solution:def exist(self, board: List[List[str]], word: str) -> bool:# k为当前word遍历的下标def dfs(i,j,k):if not 0<=i<len(board) or not 0<= j<len(board[0])  or board[i][j] != word[k]:return Falseif len(word)-1 == k:return Trueboard[i][j] = ' 'res = dfs(i-1,j,k+1) or dfs(i,j-1,k+1) or dfs(i+1,j,k+1) or dfs(i,j+1,k+1)board[i][j] = word[k]return res for i in range(len(board)):for j in range(len(board[0])):if dfs(i,j,0):return Truereturn False
http://www.ds6.com.cn/news/34221.html

相关文章:

  • 金融棋牌网站建设2021年十大热点事件
  • 刚做的网站搜全名查不到steam交易链接怎么看
  • 手机网站怎么做的好处营销策划师
  • 石青网站推广软件站长之家下载
  • 中国建设综合门户网站nba在线直播免费观看直播
  • 英语网站建设北京网站优化
  • 网址自动生成手机网站下载百度2023最新版安装
  • 正规的企业网站建设公司下载百度网盘app
  • 云天下网站建设排行榜网站
  • 网站建设好之后都有哪些推广方法电子商务
  • 企业网站系统详细设计微信营销系统
  • 有哪些网站可以做青旅义工搜索引擎优化排名关键字广告
  • 网站开发用什么简单阿里云域名注册
  • 济南济南网站建设公司seo顾问合同
  • 松滋住房和城乡建设局网站北京网站制作推广
  • 易购商城网站怎么做啊手机网站建设
  • 网站建设 自助建站广告发布平台app
  • 外国电商设计网站有哪些谷歌搜索引擎 google
  • 重庆营销网站建设公司排名原创文章代写平台
  • 给客户做网站需要付法律责任吗自助优化排名工具
  • 上行2m可以做网站网络营销的目的是什么
  • 深圳网站建设一尘互联seo标签优化方法
  • ps做图软件怎么下载网站网络推广怎么推广
  • app 开发长春seo优化
  • 有哪些做微信小游戏的网站上海seo网站排名优化公司
  • 网站建设可行性研究报告 baidu怎样注册一个自己的平台
  • 商贸行业网站建设公司沈阳网站seo排名公司
  • 怎么做交易猫假网站哈尔滨优化推广公司
  • 好素材网站广州四楚seo顾问
  • 手机网站建设广州最新黑帽seo教程