我们得到一个字符串 str[] 和一个数字 n。目标是找到 str[] 的所有长度为 n 的子字符串。如果字符串是“abcde”且 n=3,则长度为 3 的子字符串是“abc”、“bcd”、“cde”并且计数为 3。
让我们通过例子来理解。
输入- str[] = “计算机” n=4
输出- 给定字符串中可能的长度为 n 的子字符串的计数为 - 5
说明- 长度为 4 的子串是:“comp”、“ompu”、“mput”、“pute”、“uter”
输入- str[] = “发展” n=5
输出- 给定字符串中可能的长度为 n 的子字符串的计数为 - 7
说明- 长度为 5 的子字符串是:“devel”、“evelo”、“velop”、“elopm”、“lopme”、“opmen”、“pment”。
如果我们取字符串str[]的长度为L,那么str[]中长度为n的子串的个数为Ln+1。如果字符串是“abcdefghi”并且 n 是 4,那么子字符串将是“abcd”、“bcde”、“cdef”、“defg”、“efgh”、“fghi”。计数是 6。也是 9-4+1=6。
取一个字符串str。
取n为整数。
函数possible_substring(string str, int length, int n)接受一个字符串,它的长度为 n,并返回 str 长度为 n 的子字符串的计数。
取一个变量计数。
设置计数 = 长度-n+1。
最后返回计数作为结果。
#include <bits/stdc++.h> using namespace std; int possible_substring(string str, int length, int n){ int count = length - n + 1; return count; } int main(){ string str = "learning"; int length = str.length(); int n = 2; cout<<"给定字符串中可能的长度为 n 的子字符串的计数是: "<<possible_substring(str, length, n); return 0; }输出结果
如果我们运行上面的代码,它将生成以下输出 -
给定字符串中可能的长度为 n 的子字符串的计数是: 7