使用C++ STL计算连续子串的长度为2的唯一计数


在本教程中,我们将讨论一个程序来使用C++ STL计算连续子串的长度为2的唯一计数。

为此,我们将提供一个字符串。我们的任务是从给定的字符串中计算并打印所有长度为2的唯一子串。

举例

 实时演示

#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;
}

输出

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

更新于: 16-3-2020

89名浏览者

开启您的 职业生涯

完成课程可获得认证

入门
广告
© . All rights reserved.