子串查找
传送门: 链接 来源: UPC8170
题目描述
给定一个字符串A和一个字符串B,求B在A中的出现次数。A和B中的字符均为英语大写字母或小写字母。
A中不同位置出现的B可重叠。
输入
输入共两行,分别是字符串A和字符串B。
输出
输出一个整数,表示B在A中的出现次数。
样例输入
zyzyzyz
zyz
样例输出
3
提示
1≤A,B的长度≤106,A、B仅包含大小写字母。
思路:
之前总结过string的函数和它的很多用法,直接用string暴力(反正b的长度知道,只需要枚举起点即可),结果T了。
(知道string耗时高,但也太高了吧!!)
TLE的代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a,b;
cin>>a>>b;
int la=a.size(),lb=b.size();
int cnt=0;
for(int i=0;i<la;i++){
if(a[i]==b[0]&&