百度笔试

笔试编程题第一题题目大意回顾:
输入字符串:111010010100    输出:回文的字符串长度为8

想请教各位大佬,这道题目怎么做?能否分享一下代码以及思路!不胜感激!
#百度2022校招##百度##笔试题目#
全部评论
回文子串你应该会做吧,就动态规划,leetcode好像有类似的题。这一题需要另外处理一下,找到每个回文子串,把全0或者全1的去掉就可以了。我当时就是这么做的,ac了。期待更优雅的解法。
点赞 回复 分享
发布于 2022-03-31 11:46
中心扩散的,遇到回文子串就中心扩散,挺简单的 #include<iostream> #include<string> using namespace std; int hui(string& a, int i, int j) { int fault = 0; while (i >= 0 && j < a.size()&&a[i]==a[j]) { fault+=2; i--; j++; } return fault; } int main() { string a; cin >> a; int fault = 0; cout << a << endl; for (int i = 0; i < a.size(); i++) { int tmp1 = hui(a, i, i); int tmp2 = hui(a, i, i + 1); fault = max(fault, max(tmp1, tmp2)); } cout << fault << endl; return 0; }
点赞 回复 分享
发布于 2022-04-19 21:27

相关推荐

06-04 18:37
门头沟学院 Java
勇敢的ssr求对象:前面看的有点奔溃,看到只有你是真玩啊,忍不住笑出了声😂
点赞 评论 收藏
分享
点赞 评论 收藏
分享
自由水:这HR已经很好了,多的是已读不回和不读了
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务