Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm chuỗi con liên tiếp riêng biệt có độ dài hai bằng C ++ STL

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để đếm chuỗi con liên tiếp khác nhau có độ dài là hai bằng cách sử dụng C ++ STL.

Đối với điều này, chúng tôi sẽ cung cấp một chuỗi. Nhiệm vụ của chúng ta là đếm và in tất cả các chuỗi con duy nhất có độ dài hai từ chuỗi đã cho.

Ví dụ

#include<bits/stdc++.h>
using namespace std;
void calc_distinct(string str){
   map<pair<char,char>, int> dPairs;
   for (int i=0; i<str.size()-1; i++)
      dPairs[make_pair(str[i], str[i+1])]++;
   cout << "Distinct sub-strings with counts:\n";
   for (auto it=dPairs.begin(); it!=dPairs.end(); it++)
      cout << it->first.first << it->first.second << "-" << it->second << " ";
}
int main(){
   string str = "abcacdcacabacaassddssklac";
   calc_distinct(str);
   return 0;
}

Đầu ra

Distinct sub-strings with counts:
aa-1 ab-2 ac-4 as-1 ba-1 bc-1 ca-4 cd-1 dc-1 dd-1 ds-1 kl-1 la-1 sd-1 sk-1 ss-2