在C ++中按字母顺序查找子字符串数
假设我们有一个长度为n的字符串。它仅包含大写字母。我们必须找到字符以字母顺序出现的子字符串的数量。子字符串的最小大小为2。因此,如果字符串类似于:“REFJHLMNBV”,并且子字符串计数为2,则它们分别为“EF”和“MN”。
因此,要解决此问题,我们将按照以下步骤操作:
检查str[i]+1是否与str[i+1]相同,然后将结果加1,并将字符串迭代直到下一个字母顺序不正确的字符,否则继续。
示例
#include<iostream>
using namespace std;
int countSubstr(string main_str) {
int res = 0;
int n = main_str.size();
for (int i = 0; i < n - 1; i++) {
if (main_str[i] + 1 == main_str[i + 1]) {
res++;
while (main_str[i] + 1 == main_str[i + 1]) {
i++;
}
}
}
return res;
}
int main() {
string str = "REFJHLMNBV";
cout << "Number of substrings: " << countSubstr(str);
}输出结果
Number of substrings: 2
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短