关注
制造偶串的O(n)算法,应用KMP的next数组。 #include <bits/stdc++.h>
using namespace std;
int solve(string& s) {
vector<int> next(s.size(), 0);
int j = 0, i = 1;
while (i < s.size()) {
if (s[i] == s[j]) {
next[i] = j+1;
++i;
++j;
}
else if (j != 0) {
j = next[j-1];
} else {
++i;
}
}
for (i = next.size() - 3; i >= 0; i -= 2) {
if (next[i] * 2 == i + 1 || next[i] == i) {
return i + 1;
}
}
return 0;
}
int main() {
freopen("in.txt", "r", stdin);
string s;
while (cin >> s) {
cout << solve(s) << endl;
}
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习简历求拷打 #
4797次浏览 64人参与
# 你会为了工作牺牲生活吗? #
66646次浏览 454人参与
# 秋招被挂春招仍然能投的公司 #
4715次浏览 81人参与
# 考研失败就一定是坏事吗? #
198575次浏览 1352人参与
# 什么是优秀的实习经历 #
6398次浏览 191人参与
# 为了求职,我做过的疯狂伪装 #
75325次浏览 763人参与
# mt对你说过最有启发的一句话 #
28792次浏览 358人参与
# 牛友们,签完三方你在忙什么? #
128538次浏览 981人参与
# 摸鱼被leader发现了怎么办 #
95662次浏览 617人参与
# 巨人网络工作体验 #
71032次浏览 502人参与
# 你今年的保底offer是哪家 #
154163次浏览 668人参与
# 秋招特别不鸣谢 #
13124次浏览 168人参与
# 你投递的公司有几家约面了? #
153703次浏览 990人参与
# 第一次面试 #
1035188次浏览 13679人参与
# 今年秋招你收到了多少封邮件? #
16204次浏览 216人参与
# 工作中遇到的歹人 #
23765次浏览 281人参与
# 选实习,你更看重哪方面? #
10870次浏览 200人参与
# 携程求职进展汇总 #
837472次浏览 5498人参与
# 滴!实习打卡 #
748887次浏览 6762人参与
# 毕业论文进行时 #
20326次浏览 127人参与