关注
制造偶串的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;
}
查看原帖
点赞 评论
相关推荐
不愿透露姓名的神秘牛友
03-17 16:51
点赞 评论 收藏
转发
投递好未来等公司9个岗位 >
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
346619次浏览 7205人参与
# 你更愿意参加线上面试还是线下面试? #
4390次浏览 70人参与
# 晒一晒我的offer #
2759287次浏览 49449人参与
# 如何确定求职岗位 #
100655次浏览 2389人参与
# 华为求职进展汇总 #
432432次浏览 4346人参与
# 机械人怎么评价今年的华为 #
48805次浏览 398人参与
# 第一次面试 #
13513次浏览 206人参与
# 非技术岗薪资爆料 #
4516次浏览 95人参与
# 如果再来一次,你还会学硬件吗 #
16666次浏览 329人参与
# 海信求职进展汇总 #
6759次浏览 90人参与
# 通信硬件薪资爆料 #
136321次浏览 965人参与
# 来聊聊机械薪资天花板是哪家 #
17869次浏览 136人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
21975次浏览 211人参与
# 除了offer,现在你还缺点啥? #
1974次浏览 44人参与
# 应届生应该先就业还是先择业 #
10598次浏览 103人参与
# 百度工作体验 #
18940次浏览 205人参与
# 通信硬件人笔面经互助 #
62480次浏览 1392人参与
# 讲讲我经历过的年终奖 #
5784次浏览 76人参与
# 软件开发薪资爆料 #
533793次浏览 9198人参与
# 租房前辈的忠告 #
19680次浏览 1575人参与