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++
-
C++を使用して文字列の部分文字列の数を見つける
この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &
-
C++STLのvector::begin()およびvector ::end()
vector ::begin()関数は、コンテナの最初の要素を指すイテレータを返すために使用される双方向イテレータです。 vector ::end()関数は、コンテナの最後の要素を指すイテレータを返すために使用される双方向イテレータです。 アルゴリズム Begin Initialize the vector v. Declare the vector v1 and iterator it to the vector. Insert the elements of the vector. P