30分求助
查看原帖
30分求助
204161
Uniseca楼主2021/8/7 09:02
vector<int> match(char a[], char b[], vector<int> nxt){
    vector<int> ans;
	int j = 0, la = strlen(a), lb = strlen(b);
	for(int i = 0;i < la;i++){
        while(j && b[j + 1] != a[i]) j = nxt[j];
        if(b[j + 1] == a[i]) j++;
        if(j == lb - 1){
			ans.push_back(i - lb + 2);
			j = nxt[j];
		}
	}
	return ans;
}

匹配函数 目前已知肯定是这里出了问题 字符串读入从0开始 可过第一个Subtask

调了一个点了 我人傻了

2021/8/7 09:02
加载中...