单词搜索:回顾方法的经典示例和 C 语言的解决方案

小夏 科技 更新 2024-02-01

要学习工控知识,就来工控小鑫。

农历十一月29th,2024 1:10

2024 年 1 月 9 日,每天花一分钟练习 C。

2024 年 1 月 8 日,每天花一分钟练习 C。

每天练习一次

daily exercises

单词搜索。

给定一个 m x n 二维字符网格板和一个字符串字。 如果网格中存在单词,则返回 true; 否则,返回 false。

单词必须由相邻单元格中的字母按字母顺序组成,其中“相邻”单元格是水平或垂直相邻的单元格。 同一单元格中的字母不允许重复使用。

主题分析我们需要在二维字符的网格中查找一个单词,并且该单词的每个字母都必须在相邻的单元格中,并且不能重复使用同一个单元格。 这是一个典型的回溯问题,即我们需要尝试不同的路径,直到找到符合标准的解决方案,或者遍历所有可能的路径而没有找到解决方案。

为了实现回溯方法,我们需要定义一个辅助函数,该函数以递归方式在网格中搜索单词的每个字母。 此函数需要接收以下参数:

- board:2D角色网格

- word:您要查找的单词

- index:您当前要匹配的单词的字母索引

- x:要匹配的网格的行坐标

- y:要匹配的网格的列坐标

- visited:一个二维布尔数组,用于跟踪哪些单元格已被访问以避免重用

此函数的返回值是一个布尔值,该值指示是否可以从当前位置在网格中找到单词的其余部分。 具体逻辑如下:

如果索引等于单词的长度,则所有字母都已匹配,并返回 true

如果 x 或 y 越界,或者 board[x][y] 不等于 word[index],或者 visited[x][y] 为 true,则当前位置不满足条件并返回 false

否则,将 visited[x][y] 设置为 true 以指示已访问当前位置。

然后,尝试从当前位置的四个方向继续搜索:上、下、左、右,只要一个方向成功,就返回 true

最后,将 visited[x][y] 设置为 false,表示可以重新访问当前位置,并返回 false

有了这个辅助函数,我们可以写出 main 函数,用于遍历网格中的每个位置,作为搜索的起点,调用辅助函数,如果返回 true,则表示该词被找到,否则继续遍历,直到遍历所有位置,如果没有找到, 返回 false。

项目介绍

下面是我用 C 语言编写的完整程序,您可以在 VC6 中找到0 运行并调试它:

程序测试

为了验证我们的程序是否正确,我们可以使用一些测试用例来验证这一点。

给定一个字符串,验证它是否为回文字符串,仅考虑字母和数字字符,并忽略字母的大小写。

注意:在这个问题中,我们将空字符串定义为有效的回文字符串。

示例 1:输入:"a man,aplan,a canal: panama

输出:true

解释:“amanaplanacanalpanama”是回文字符串示例2:

输入:"race a car"

输出:false

知识爆炸训练营

相似文章

    最近在营销界非常热门的一个词是搜索营销

    搜索营销是一件非常重要的事情。试想一下,虽然谷歌没有透露确切的数字,但据估计,这个数字从每天 亿到真正惊人的 亿不等。不管你怎么划分,每天 每分钟 每天都有数百万次搜索。这些用户中有很大一部分正在研究要购买的产品,决定是否购买它们,寻找多个卖家的选项等等。对于营销人员来说,谷歌的无处不在,以及Mic...

    一个时代的终结,回顾E3经典时刻

    E 死了,烧纸的东西。 月 日,欧空局宣布 E 将永久停产,E 走过了 年的历程。作为全球年度规模最大的游戏博览会,E是各大游戏公司展示产品 见证一代游戏玩家风采的舞台。.索尼和任天堂在年E上首次亮相PSP和NDS,结束了人天垄断掌机的时代,掌机大战真正开始。.任天堂北美前总裁雷吉的出道,立即以张扬...

    一个具有经典IP的玩具许可证需要花费100万美元

    介绍在今年销售疲软的态势下,海外玩具厂商纷纷打出 情感牌 试图依靠曾经红极一时 逐渐沉寂的 菲比 和 忍者神龟 等经典怀旧品牌来吸引消费者。但如果认为这些品牌IP和中国经典国产品牌一样 物美价廉 那你就大错特错了。经典护理熊。中外玩具网 CTOY GDTA 编辑 Jane Salas 经典IP争夺战...

    一句经典的句子,把一个人思念到了极点

    在漫长的人生旅途中,我们会遇到很多人,有的会在我们的人生中留下深深的印记,有的会在我们心中留下永恒的印记。当我们极度想念一个人时,我们会用最真挚的情感和最美丽的话语来表达我们的思念之情。今天,就让我们细细品味那些关于思念的经典句子,感受跨越千里的相思。思念是一种美妙的感觉,能让你在寂寞时感到温暖,也...

    退热退烧的经典方剂,四味中药,内外双解,收集后用

    中医药是中华民族的瑰宝,历史悠久,临床经验丰富。在感冒 发烧等外病方面,中医具有独特的优势和作用。今天给大家介绍一个解热退烧的经典药方,叫做白虎汤,它来源于东汉末年著名医师张仲景的 伤寒论 白虎汤由石膏 芝木 煮甘草 粳米四种中药组成,具有清热生金的功效。是 阳明经 或 分气热证 的主要处方,适用于...