给定一个字符串和一个子串。子串中的字符可能重复。
输出子串出现的次数。
输入描述
一个字符串 str
一个子串 sub
str的长度大于sub的长度
输出描述
输出子串出现的次数。
输入例子1
字符串="today is nice . may nice day you have "
子串=“nice”
输出例子1
2
输入例子2
字符串=“abcabcabca”
子串=“abca”
输出例子2
3
题目来源:牛客
使用了两层循环。
代码如下:
int find(const string &str, const string &sub){
int len1=str.size();
int len2=sub.size();
int cnt=0;
for(int i=0;i<len1;i++){
int j=0,k=i;
while(j<len2 && str[k++]==sub[j++]);
if(j==len2)
cnt++;
}
return cnt;
}