关注
//kmp
int IndexOfSubstr(const char* const raw_str, const char* const sub_str)
{
int sublength = 0;
for (int i = 0; sub_str[i] != '\0'; i++)
{
sublength++;
}
vector<int> next(sublength, 0);
int i = 1;
int j = 0;
while (sub_str[i] != '\0')
{
if (sub_str[i] == sub_str[j])
{
next[i] = j + 1;
i++;
j++;
}
else
{
if (j != 0)
{
j = next[j - 1];
}
else
{
next[i] = 0;
i++;
}
}
}
i = 0;
j = 0;
while (sub_str[j] != '\0'&&raw_str[i] != '0')
{
if (sub_str[j] == raw_str[i])
{
j++;
i++;
}
else
{
if (j != 0)
j = next[j - 1];
else
i++;
}
}
if (sub_str[j] == '\0')
{
return i - j;
}
else
return -1;
}
查看原帖
点赞 评论
相关推荐
12-15 15:37
河南科技学院 Web前端 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
123897次浏览 2078人参与
# 实习简历求拷打 #
16661次浏览 194人参与
# 作业帮求职进展汇总 #
83999次浏览 554人参与
# 秋招被挂春招仍然能投的公司 #
7803次浏览 108人参与
# 实习要如何选择和准备? #
128553次浏览 1486人参与
# 外包能不能当跳板? #
54291次浏览 256人参与
# 诺瓦星云求职进展汇总 #
233524次浏览 1736人参与
# mt对你说过最有启发的一句话 #
39067次浏览 454人参与
# 公司情报交流地 #
126698次浏览 1227人参与
# 为了找工作你花了哪些钱? #
74890次浏览 361人参与
# 你觉得机械有必要实习吗 #
69861次浏览 485人参与
# 投格力的你,拿到offer了吗? #
153445次浏览 822人参与
# 一起聊美团 #
307677次浏览 1767人参与
# 什么是优秀的实习经历 #
9413次浏览 226人参与
# 摸鱼被leader发现了怎么办 #
103895次浏览 659人参与
# 京东开奖 #
632090次浏览 3180人参与
# 秋招特别不鸣谢 #
16617次浏览 186人参与
# 考研失败就一定是坏事吗? #
202651次浏览 1389人参与
# 选实习,你更看重哪方面? #
15329次浏览 230人参与
# 安克创新求职进展汇总 #
62484次浏览 541人参与
