C++怎么实现词语搜索


这篇文章主要介绍了C++怎么实现词语搜索的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++怎么实现词语搜索文章都会有所收获,下面我们一起来看看吧。Given a 2D board a 香港云主机nd a word, find if the word exists in the grid.The word can be constructed from letters of sequentially adjacent cell, where “adjacent” cells are those horizontally or vertically neighboring. The same letter cell may not be used more than once.For example,
Givenboard=[
[“ABCE”],
[“SFCS”],
[“ADEE”]
]word=”ABCCED”, -> returnstrue,
word=”SEE”, -> returnstrue,
word=”ABCB”, -> returnsfalse.这道题是典型的深度优先遍历 DFS 的应用,原二维数组就像是一个迷宫,可以上下左右四个方向行走,我们以二维数组中每一个数都作为起点和给定字符串做匹配,我们还需要一个和原数组等大小的 visited 数组,是 bool 型的,用来记录当前位置是否已经被访问过,因为题目要求一个 cell 只能被访问一次。如果二维数组 board 的当前字符和目标字符串 word 对应的字符相等,则对其上下左右四个邻字符分别调用 DFS 的递归函数,只要有一个返回 true,那么就表示可以找到对应的字符串,否则就不能找到,具体看代码实现如下:解法一:我们还可以不用 visited 数组,直接对 board 数组进行修改,将其遍历过的位置改为井号,记得递归调用完后需要恢复之前的状态,参见代码如下:解法二:关于“C++怎么实现词语搜索”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C++怎么实现词语搜索”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注开发云行业资讯频道。

相关推荐: 怎么设置win7系统中的打印机共享

这篇文章将为大家详细讲解有关怎么设置win7系统中的打印机共享,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。设置打印机共享方 香港云主机法:1.确定打印机处于开机状态,安装好驱动后,打开设备和打印机界面。2.右键选中需要共享…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/14 16:23
下一篇 07/14 16:29

相关推荐