计算C ++中字符串中不同子字符串的数量
根据问题,给我们一个字符串str,我们必须计算给定字符串中的所有子字符串。子字符串是一个字符串,它是现有字符串的一部分,其大小可能小于或等于现有字符串。
让我们借助示例来了解问题及其解决方案。
输入-str=“wxyz”;
输出-不同子字符串的计数为:10
说明-计数的不同子字符串为-
wxyz, wxy, wx, w, xyz, xy, x, yz, y, z so their count is 10
输入−str=“zzzz”
输出-不同子字符串的计数为:4
说明-计数的不同子字符串为-
zzzz, zzz, zz, z
在以下程序中使用的方法如下
以字符串str作为输入。
声明一个空的unordered_set“myset”。
从0开始循环i,直到第一步小于字符串的大小为止。
声明一个新的字符串空间“”(空)。
从i开始的循环j每次移动1步,直到j小于字符串的大小。
用str[j]连接每一步的空间值
在myset中插入空格。
打印str的大小作为答案。
示例
#include<iostream>
#include<unordered_set>
using namespace std;
int main(){
string str = "aaaa";
unordered_set<string> myset;
int i, j;
for (i = 0; i < str.size(); ++i){
string space = "";
for (j = i; j < str.size(); ++j){
space = space + str[j];
myset.insert(space);
}
}
cout <<"count of distinct substring is: " <<str.size();
return 0;
}输出结果
如果运行上面的代码,我们将获得以下输出-
count of distinct substring is: 4
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短