使用 C++ 和 STL 函式查詢並列印 std::vector 中的重複單詞。


假設我們有一份字串列表。該列表中有一些重複的字串。我們必須檢查哪些字串出現多次。假設字串列表像是 [“Hello”, “Kite”, “Hello”, “C++”, “Tom”, “C++”]

這裡我們將使用雜湊技術,建立一個空的雜湊表,然後遍歷每個字串,對於每個字串,如果 s 在雜湊表中已經存在,則顯示該字串,否則插入到雜湊表中。

示例

 線上演示

#include<iostream>
#include<vector>
#include<unordered_set>
using namespace std;
void displayDupliateStrings(vector<string> strings) {
   unordered_set<string> s;
   bool hasDuplicate = false;
   for (int i = 0; i<strings.size(); i++) {
      if (s.find(strings[i]) != s.end()) {
         cout << strings[i] << endl;
         hasDuplicate = true;
      }
      else
         s.insert(strings[i]);
   }
   if (!hasDuplicate)
      cout << "No Duplicate string has found" << endl;
}
int main() {
   vector<string>strings{"Hello", "Kite", "Hello", "C++", "Tom", "C++"};
   displayDupliateStrings(strings);
}

輸出

Hello
C++

更新於: 2019-10-29

489 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始
廣告