菜鸟提问: c++ 关于查找子字符串所有出现的索引问题

输入 任意一组数 如 [7,9,2,5,9,2,6,9,2,11,9,2], 和另一组[9,2], 然后函数打印子字符串的每个起始索引 1,4,7,10. 用循环或者递归方程两种方法来

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,t=0,m,n;
    cin>>m>>n;
    int a1[m],a2[n];
    for(i=0;i<m;i++){
        cin>>a1[i];
    }
    for(i=0;i<n;i++){
        cin>>a2[i];
    }
    for(i=0;i<m;i++){
        if(a2[t++]==a1[i]){
            if(t==n)
                cout<<i-n+1<<endl;
        }
        else{
            if(t==n)
                cout<<i-n;
            i=i-t+1;
            t=0;
        }
    }
    return 0;
}/*12 2
7 9 2 5 9 2 6 9 2 11 9 2
9 2*/

打印子字符串的起始索引,是寻找子串在长串的中的每一个下标吗

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员【8折】购 ,仅需→¥23.2,即可享受5次/月 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m