当前位置: 首页 > news >正文

【天梯赛】L2-008 最长对称字串(C++)

L2-008 最长对称子串 - 团体程序设计天梯赛-练习集

解题反思

//防惯性:长度的最小值不是0,而是1!

对称问题不止可以用stack!从一点出发初步判断(与后一个相同或者后面第二个相同,则由此向两边展开继续判断)

代码实现
//防惯性:长度的最小值不是0,而是1!
#include<bits/stdc++.h>
using namespace std;

int main()
{
    string str;
    getline(cin, str);
    if(str.length() == 1)
    {
        cout<<"1"<<endl;
        return 0;
    }
    int max_len = 1;
    auto dfs = [&](auto& dfs, int fir_cur, int lst_cur, int pre_len) -> void{
        if(str[fir_cur] == str[lst_cur]) pre_len+=2;
        else return;
        max_len = max(max_len, pre_len);
        if(fir_cur-1>=0 && pre_len+1<str.length()) dfs(dfs, fir_cur-1, lst_cur+1, pre_len);
        return;
    };
    for(int i=0; i<str.length(); i++)
    {
        if(i+1< str.length() && str[i] == str[i+1])
        {
            dfs(dfs, i, i+1, 0);
        }
        if(i+2< str.length() && str[i] == str[i+2])
        {
            dfs(dfs, i, i+2, 1);
        }
    }
    cout<<max_len<<endl;
}

相关文章:

  • browser-use 库中异步函数执行时间装饰器
  • 搭建私人对外git空间
  • 内网渗透-DLL和C语言加载木马
  • OpenCV图像拼接(9)实现图像拼接功能的一个高级接口cv::Stitcher
  • C++面试题库
  • 【已解决】Git:为什么 .gitignore 不生效?如何停止跟踪已提交文件并阻止推送?
  • 算法 | 2024最新算法:鳑鲏鱼优化算法原理,公式,应用,算法改进研究综述,matlab代码
  • 科软25机试
  • 【服务端】使用conda虚拟环境部署Django项目
  • ESP32-CAM在PlatformIO IDE里实现OTA的几个小TIPS
  • java程序员实用英语学习总结
  • JBDev - Theos下一代越狱开发工具
  • OpenBMC:BmcWeb 生效路由2 Trie字典树添加节点
  • CentOS 7 磁盘及分区管理笔记
  • Redis 性能数据解读与问题排查优化版
  • Oracle 10G DG 修复从库-磁盘空间爆满导致从库无法工作
  • SvelteKit 最新中文文档教程(12)—— 高级路由
  • LeetCode 解题思路 26(Hot 100)
  • 计算机网络基础:量子通信技术在网络中的应用前景
  • js文字两端对齐
  • 网站栏目规划/网站推广哪个好
  • wordpress主题xiu5.6/seo收费低
  • 香港网站空间价格/最新新闻热点素材
  • 黄埔网站建设 信科网络/自己搜20条优化措施
  • 网站开发的软件有哪些/手机制作网页用什么软件
  • 网站建设电话销售话术模板大全/湖南网站优化