560 字
2 分钟阅读
找次数

题目描述

给出两个非空字符串 x,y 。找出字符串 y 在字符串 x 中出现的次数, x,y 只包含大小写英文字符。

输入格式

第一行输入字符串 x ,保证长度不超过 5000

第二行给出字符串 y ,保证长度小于等于 | x |

输出格式

在一行中输出字符串 y 在字符串 x 中出现的次数。

输入样例

cpacpacpa
cpa

输出样例

3

题意

s_1 中有多少个子串等于 s_2

思路

枚举每个下标,截取从此下标开始的长度为 | s_2 | 的子串,判断是否和 s_2 相等,相等答案 +1

代码

void solve(){
    string s1,s2;
    cin >> s1 >> s2;
    int ans = 0;
    for(int i = 0;i < s1.size();i++){
        if(s1.substr(i,s2.size()) == s2){
            ans++;
        }
    }
    cout << ans;
}

1 条评论

  1. 2026年贵工程寒假训练题解 – 追求的个人博客 2026年1月18日

    […] 找次数 题解 […]

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注