2014-10-31 63 views
0

對於我的課程項目,我們必須通過莎士比亞十四行詩並檢查每個單詞是否在字典中。現在我有兩個字母順序的字符串數組,一個由十四行詩中的單詞組成,另一個由字典中的單詞組成。我被要求使用合併排序來檢查字典中是否存在sonnet中的單詞。任何人都可以給我一個我怎麼能實現這個想法?提前致謝!單詞搜索:使用合併排序的字母順序的兩個字符串數組

+0

難道你該怎麼處理這個問題,或者它是否是mergesort本身? – habitats 2014-10-31 01:35:35

回答

1

的想法是:

  1. 排序兩個陣列(具有合併排序)
  2. 通過兩個同時排序陣列的刪除任何重複
  3. 迭代(可使用合併過程完成在mergesort中)並檢查sonnet列表中的下一個單詞是否等於字典中的下一個單詞。如果沒有,請將其刪除,並將其標記爲「不在字典中」,如果是,則將其標記爲「在字典中」,並繼續處理這兩個列表中的下一個元素

但是,此方法假定字典中的所有單詞都包含在十四行詩中。如果情況並非如此,你將不得不提前刪除這些單詞。

雖然真的;這聽起來不像是一個排序問題。 最好的方法是使用HashMap並將所有字典中的單詞加入。然後你可以遍歷十四行詩,並檢查地圖中是否存在。

相關問題