目錄
方法
方法一:使用字典
文法
演算法
Example 2
範例2
輸出
方法2:使用集合
输出
结论
首頁 後端開發 C++ 列印兩個給定句子中所有不重複的單字

列印兩個給定句子中所有不重複的單字

Sep 15, 2023 pm 07:01 PM
單字 提取列印 句子

列印兩個給定句子中所有不重複的單字

在本教程中,我們將識別並列印兩個給定句子中所有不重複的單字。不重複的單字指的是兩個句子中只出現一次的單字,也就是它們在另一個句子中不重複出現。這個任務涉及到輸入句子的分析,辨識出各個單詞,並在兩個句子之間進行比較,找出只出現一次的單字。輸出應該是所有這些單字的列表。這個任務可以透過各種程式方法來完成,例如使用循環、陣列或字典。

方法

這裡有兩種方法來印出兩個給定句子中所有不重複的單字−

#方法1:使用字典

方法2:使用集合

方法一:使用字典

使用字典,計算每個單字在兩個短語中出現的次數。然後我們可以查字典並印出所有隻出現一次的單字。 C 中的Dictionary函數通常用於輸出兩個指定句子中所有不重複的單字。該方法包括使用字典或雜湊表資料結構來儲存兩個短語中每個單字的頻率。然後我們可以迭代地遍歷字典並列印出只出現一次的術語。

文法

這裡是沒有實際程式碼的語法,使用 C 中的字典方法列印兩個給定句子中的所有非重複單字 -

  • 宣告一個字典來儲存單字頻率

map<string, int> freqDict;
登入後複製
  • 輸入兩個句子作為字串

#
string sentence1 = "first sentence";
string sentence2 = "second sentence";
登入後複製
  • 將句子拆分成單字並插入字典中

istringstream iss (sentence1 + " " + sentence2);
string word;
while (iss >> word) {
   freqDict[word]++;
}
登入後複製
  • 遍歷字典並列印不重複的單字

for (const auto& [word, frequency]: freqDict) {
   if (frequency == 1) {
      cout << word << " ";
   }
}
登入後複製

演算法

在C 中,這是使用字典方法逐步列印兩個指定句子中所有不重複項的技巧 -

第 1 步 - 建立兩個字串 s1 和 s2,其中包含句子。

步驟2 - 宣告一個空的無序映射 string, int> dict,用於記錄句子中每個單字的頻率。

第三步 − 使用C 的字串流類,解析兩個短語以提取單字。

步驟 4 - 對於每個提取的單詞,檢查它是否出現在字典中。如果是,則將其頻率增加一。否則,將其添加到頻率為1的字典中。

第5步 - 處理完兩個句子後,迭代字典並顯示頻率為1的所有術語。這些是兩個句子中不重複的單字。

步驟 6 − 此方法的時間複雜度為 O(n),

Example 1

的中文翻譯為:

範例1

#這段程式碼使用了一個無序映射來儲存組合短語中每個單字的頻率。然後,它循環遍歷映射,將每個只出現一次的單字加到一個非重複單字的向量中。最後,它發布非重複單字。這個範例暗示了兩個句子是硬編碼到程式中而不是由使用者輸入的。

#include <iostream>
#include <string>
#include <unordered_map>
#include <sstream>
#include <vector>

using namespace std;

vector<string> getNonRepeatingWords(string sentence1, string sentence2) {
   // Combine the two sentences into a single string
   string combined = sentence1 + " " + sentence2;

   // Create a map to store the frequency of each word
   unordered_map<string, int> wordFreq;

   // Use a string stream to extract each word from the combined string
   stringstream ss(combined);
   string word;
   while (ss >> word) {
      // Increment the frequency of the word in the map
      wordFreq[word]++;
   }

   // Create a vector to store the non-repeating words
   vector<string> nonRepeatingWords;
   for (auto& pair : wordFreq) {
      if (pair.second == 1) {
         nonRepeatingWords.push_back(pair.first);
      }
   }

   return nonRepeatingWords;
}
int main() {
   string sentence1 = "The quick brown fox jumps over the lazy dog";
   string sentence2 = "A quick brown dog jumps over a lazy fox";

   vector<string> nonRepeatingWords = getNonRepeatingWords(sentence1, sentence2);

   // Print the non-repeating words
   for (auto& word : nonRepeatingWords) {
      cout << word << " ";
   }
   cout << endl;

   return 0;
}
登入後複製

輸出

a A the The
登入後複製

方法2:使用集合

此策略包括使用集合來尋找在兩個短語中僅出現一次的術語。我們可以為每個短語建立術語集,然後識別這些集合的交集。最後,我們可以迭代交集並輸出所有隻出現一次的項目。

集合是關聯容器,它會依照排序順序保存不同的元素。我們可以將兩個短語中的術語插入到集合中,任何重複項都會自動刪除。

文法

當然!以下是你可以在Python中使用的語法,用於列印兩個給定句子中所有不重複的單字 −

  • 將兩個句子定義為字串

sentence1 = "The fox jumps over dog"
sentence2 = "A dog jumps over fox"
登入後複製
  • 將每個句子拆分為單字清單

words1 = sentence1.split()
words2 = sentence2.split()
登入後複製
  • 從這兩個單字清單建立集合

set1 = set(words1)
set2 = set(words2)
登入後複製
  • 透過集合的交集找出不重複的單字

Nonrepeating = set1.symmetric_difference(set2)
登入後複製
  • 列印不重複的單字

for word in non-repeating:
   print(word)
登入後複製

演算法

按照以下指示,使用C 中的集合函數輸出兩個給定句子中的所有非重複單字-

第 1 步 - 建立兩個字串變數來儲存兩個句子。

步驟 2 - 使用字串流庫,將每個句子拆分為獨立的單字,並將它們儲存在兩個單獨的陣列中。

第 3 步 - 製作兩組,每個句子一組,以儲存唯一的單字。

第 4 步 - 循環遍歷每個單字數組並將每個單字插入正確的集合中。

步驟 5 - 遍歷每個集合並列印出不重複的單字。

Example 2

的中文翻譯為:

範例2

在這段程式碼中,我們使用字串流庫將每個句子分割成單獨的單字。然後我們使用兩個集合,uniqueWords1和uniqueWords2,來儲存每個句子中的唯一單字。最後,我們循環遍歷每個集合並列印出不重複的單字。

#include <iostream>
#include <string>
#include <sstream>
#include <set>

using namespace std;

int main() {
   string sentence1 = "This is the first sentence.";
   string sentence2 = "This is the second sentence.";
   string word;
   stringstream ss1(sentence1);
   stringstream ss2(sentence2);
   set<string> uniqueWords1;
   set<string> uniqueWords2;

   while (ss1 >> word) {
      uniqueWords1.insert(word);
   }

   while (ss2 >> word) {
      uniqueWords2.insert(word);
   }

   cout << "Non-repeating words in sentence 1:" << endl;
   for (const auto& w : uniqueWords1) {
      if (uniqueWords2.find(w) == uniqueWords2.end()) {
         cout << w << " ";
      }
   }
   cout << endl;

   cout << "Non-repeating words in sentence 2:" << endl;
   for (const auto& w : uniqueWords2) {
      if (uniqueWords1.find(w) == uniqueWords1.end()) {
         cout << w << " ";
      }
   }
   cout << endl;

   return 0;
}
登入後複製

输出

Non-repeating words in sentence 1:
first 
Non-repeating words in sentence 2:
second
登入後複製

结论

总之,从两个提供的句子中打印所有非重复单词的任务是通过使用各种编程方法来实现的,例如将句子分解为单个单词,利用字典来量化每个单词的频率,以及过滤掉非重复单词。生成的非重复单词集合可以报告给控制台或保存在列表或数组中以供进一步使用。这项工作对于基本的编程文本操作和数据结构操作很有帮助。

以上是列印兩個給定句子中所有不重複的單字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1252
24
高情商回覆抖音評論的句子怎麼說?回覆抖音評論的句子有哪些? 高情商回覆抖音評論的句子怎麼說?回覆抖音評論的句子有哪些? Mar 23, 2024 pm 07:50 PM

在現代社會中,許多人樂於在抖音平台上展現自己的生活,傳達個人情感,而評論區的討論往往引發熱議。如何以高情商的方式回覆抖音評論,成為許多人關注的焦點。一、高情商回覆抖音評論的句子怎麼說?保持禮貌和尊重是網路交流的基本原則。即使意見不同,也要以禮貌的態度回應。透過表達感謝和願意交流,可以建立良好的溝通氛圍。展示理解和同情是至關重要的,尤其是當評論者遇到困難或挫折時。一種表達同情和理解的方式是:「我理解您所遇到的困難,希望您能找到解決問題的方法,我會盡力幫助您度過難關。」這種關心他人的態度能

如何在沉浸式閱讀器中使用Microsoft Reader Coach 如何在沉浸式閱讀器中使用Microsoft Reader Coach Mar 09, 2024 am 09:34 AM

在這篇文章中,我們將向你展示如何在WindowsPC上的沉浸式閱讀器中使用Microsoft閱讀教練。閱讀指導功能幫助學生或個人練習閱讀並培養他們的識字技能。你從閱讀支援的應用程式中的一段或一份文件開始,基於此,你的閱讀報告由閱讀教練工具產生。閱讀報告顯示了閱讀的準確性、閱讀所花費的時間、每分鐘的正確單字數,以及你在閱讀時發現最具挑戰性的單字。你還將能夠練習這些單詞,這總體上有助於培養你的閱讀技能。目前,僅有Office或Microsoft365(包括OneNoteforWeb和WordforWe

Windows 11 上如何啟用或停用自動更正拼字錯誤的單字功能 Windows 11 上如何啟用或停用自動更正拼字錯誤的單字功能 Sep 19, 2023 pm 10:53 PM

自動更正是一項非常有用的功能,可以在您的日常生活中節省大量時間。雖然它並不完美,但大多數時候,您可以依靠它來修復您的拼字錯誤和寫作錯誤。但是,有時它不能正常工作。你會發現它無法識別一些單詞,這使得它難以有效地工作。其他時候,您只想停用它並回到舊方式。但是使用自動更正有什麼好處嗎?透過更正拼字錯誤來節省您的時間。透過顯示正確的拼字來幫助您學習新單字。它可以幫助您避免電子郵件和其他文件中的尷尬錯誤。您將能夠更快地打字並減少錯誤。如何在Windows11上開啟或關閉拼字檢查? 1.使用「設定」應用程式點擊鍵

墨墨背單字怎麼重新開始背呢?分享墨墨背單字重新背單字方法! 墨墨背單字怎麼重新開始背呢?分享墨墨背單字重新背單字方法! Mar 15, 2024 pm 03:28 PM

好奇墨墨背單字怎麼重新開始背嗎?墨墨背單字是一款十分好用的英語單字學習軟體,使用者可以根據英語程度和學習意圖選擇英語字庫進行英語學習,還能透過例句和助記等方法更好的理解記憶單字等。有小夥伴背完單字了想重新開始背同樣的字彙書,但不知道該如何操作?小編今天為各位用戶整理了墨墨背單字重新背單字方法!有幫助到你就快來下載吧!一、墨墨背單字怎麼重新開始背呢?分享墨墨背單字重新背單字方法! 1.開啟墨背單字app,在複習頁面中看到簽到功能,選擇當天日期。 2.點選進入,之後會看到查看詳情選項。 3.跳轉頁面後,選擇

如何在iOS 17中利用預測性自動修正功能 如何在iOS 17中利用預測性自動修正功能 Sep 17, 2023 pm 03:37 PM

由於改進的機器學習技術,iOS17中的Apple在iPhone中鍵入文字時使自動更正變得更加有用。蘋果表示,它採用了一種“變形器語言模型”,可以更好地為個人用戶個性化自動更正,學習你的個人偏好和單字選擇,以便在打字時更有用。使用iOS17幾週後,您應該注意到自動更正建議可以更好地預測您想說的內容並顯示單字供您點擊以自動填充。當您使用首字母縮寫、縮短詞、俚語和口語時,自動更正與自動更正不那麼激進,但它仍然能夠更正意外的拼寫錯誤。更正自動更正當自動更正更改單字時,更正的單字下方將顯示一條藍線。您可

百詞斬斬掉的單字在哪?百詞斬斬掉的單字找教學! 百詞斬斬掉的單字在哪?百詞斬斬掉的單字找教學! Mar 15, 2024 pm 03:52 PM

一、百詞斬斬掉的單字在哪?百詞斬斬掉的單字找教學! 1.進入首頁,點選單字清單。 2.跳轉頁面後,選擇已斬單字選項。 3.進入介面後,就可以看到被使用者斬掉的單字了。 4.如果想要恢復已斬的單字,點擊編輯選項。 5.找到需要恢復的單字,點擊右側斬圖標,即可恢復該單字。 6.回到已學單字介面,就可以看到剛恢復的單字了。

使用Python計算字串中單字的長度 使用Python計算字串中單字的長度 Sep 13, 2023 am 11:29 AM

使用Python找出給定輸入字串中各個單字的長度是必須解決的問題。我們想要計算文字輸入中每個單字的字元數,並以結構化樣式(如列表)顯示結果。該任務需要分解輸入字串並分隔每個單字。然後根據其中的字元數計算每個單字的長度。基本目標是創建一個可以有效接收輸入、確定字長並及時輸出結果的函數或流程。在文字處理、自然語言處理和資料分析等多種應用中,字長統計可以提供有洞察力的資訊並實現額外的分析,解決這個問題至關重要。使用的方法使用循環和split()函數將map()函數與len和split()一起使用使

iOS 17承諾顯著改善iPhone的自動更正功能 iOS 17承諾顯著改善iPhone的自動更正功能 Jun 06, 2023 am 08:20 AM

蘋果今天預覽了iPhone的iOS17,更新帶來的關鍵新功能之一是改進的自動更正功能。蘋果表示,iOS17包括一個最先進的單字預測語言模型,這將大大改善iPhone的自動更正。每當您鍵入時,設備上的機器學習都會以比以往更高的準確性智慧地糾正錯誤。此外,您現在將在鍵入時收到內聯的預測文字建議,允許透過點擊空白鍵來新增單字或完整句子。自動更正在iOS17上有一個更新的設計,簡要地強調了自動更正的單字。點擊帶下劃線的單字會顯示您鍵入的原始單詞,輕鬆快速還原變更。隨著時間的推移,該系統還將學習你的打字

See all articles