1953: #103. 子串查找
时间限制: 5 Sec 内存限制: 256 MB
提交: 185 解决: 74
[提交][状态][讨论版]
题目描述
这是一道模板题。
给定一个字符串 A 和一个字符串 B,求 B 在 A 中的出现次数。
A 中不同位置出现的 B 可重叠。
输入
输入共两行,分别是字符串 A 和字符串 B。
输出
输出一个整数,表示 B 在 A 中的出现次数。
样例输入
zyzyzyz
zyz
样例输出
3
提示
1≤A,B 的长度 ≤106 ,A 、B 仅包含大小写字母。
时间限制: 5 Sec 内存限制: 256 MB
提交: 185 解决: 74
[提交][状态][讨论版]
题目描述
这是一道模板题。
给定一个字符串 A 和一个字符串 B,求 B 在 A 中的出现次数。
A 中不同位置出现的 B 可重叠。
输入
输入共两行,分别是字符串 A 和字符串 B。
输出
输出一个整数,表示 B 在 A 中的出现次数。
样例输入
zyzyzyz
zyz
样例输出
3
提示
1≤A,B 的长度 ≤106 ,A 、B 仅包含大小写字母。
来源
心得:用find函数比较快。
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
string s1,s2;
cin>>s1>>s2;
int i=0,num=0;
while(1)
{
i=s1.find(s2,i);
if(i==-1) break;
else num++;
i++;
}
cout<<num<<endl;
return 0;
}