單詞搜尋:回顧方法的經典示例和 C 語言的解決方案

Mondo 科技 更新 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

知識爆炸訓練營

相關問題答案

    最近在營銷界非常熱門的乙個詞是搜尋營銷

    搜尋營銷是一件非常重要的事情。試想一下,雖然谷歌沒有透露確切的數字,但據估計,這個數字從每天 億到真正驚人的 億不等。不管你怎麼劃分,每天 每分鐘 每天都有數百萬次搜尋。這些使用者中有很大一部分正在研究要購買的產品,決定是否購買它們,尋找多個賣家的選項等等。對於營銷人員來說,谷歌的無處不在,以及Mi...

    乙個時代的終結,回顧E3經典時刻

    E 死了,燒紙的東西。 月 日,歐空局宣布 E 將永久停產,E 走過了 年的歷程。作為全球年度規模最大的遊戲博覽會,E是各大遊戲公司展示產品 見證一代遊戲玩家風采的舞台。.索尼和任天堂在年E上首次亮相PSP和NDS,結束了人天壟斷掌機的時代,掌機大戰真正開始。.任天堂北美前總裁雷吉的出道,立即以張揚...

    乙個具有經典IP的玩具許可證需要花費100萬美元

    介紹在今年銷售疲軟的態勢下,海外玩具廠商紛紛打出 情感牌 試圖依靠曾經紅極一時 逐漸沉寂的 菲比 和 忍者神龜 等經典懷舊品牌來吸引消費者。但如果認為這些品牌IP和中國經典國產品牌一樣 物美價廉 那你就大錯特錯了。經典護理熊。中外玩具網 CTOY GDTA 編輯 Jane Salas 經典IP爭奪戰...

    一句經典的句子,把乙個人思念到了極點

    在漫長的人生旅途中,我們會遇到很多人,有的會在我們的人生中留下深深的印記,有的會在我們心中留下永恆的印記。當我們極度想念乙個人時,我們會用最真摯的情感和最美麗的話語來表達我們的思念之情。今天,就讓我們細細品味那些關於思念的經典句子,感受跨越千里的相思。思念是一種美妙的感覺,能讓你在寂寞時感到溫暖,也...

    退熱退燒的經典方劑,四味中藥,內外双解,收集後用

    中醫藥是中華民族的瑰寶,歷史悠久,臨床經驗豐富。在感冒 發燒等外病方面,中醫具有獨特的優勢和作用。今天給大家介紹乙個解熱退燒的經典藥方,叫做白虎湯,它來源於東漢末年著名醫師張仲景的 傷寒論 白虎湯由石膏 芝木 煮甘草 粳公尺四種中藥組成,具有清熱生金的功效。是 陽明經 或 分氣熱證 的主要處方,適用...