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

小红的回文子串

登录—专业IT笔试面试备考平台_牛客网

代码区:

#include<bits/stdc++.h>
using namespace std;
const int MAX=105;
string str;
int step[MAX];//记录修改第i的字符串的长度为3的回文连续子串的数量
vector<string> s;
void fun(){//对每个字符进行修改 
    for(int i=0;i<str.size();i++){//假如进行str.size()次替换
        for(int j=0;j<str.size();j++){
          s.push_back(string (1,str[j]));//把每次准备修改的字符串放在s中
        }
        
        if((s[i]!=s[i+2]||s[i]==s[i+2])&&i+2<s.size()){ //无论以i+1为中心的左右两边的字符是否相等,都将它修改为相等
            s[i]=s[i+2];
        }
        for(int l=0;l<s.size();l++){//遍历修改i位置后的长度为3的回文连续子串的数量
            if(s[l]==s[l+2]&&l+2<s.size()){
                step[i]++;
            }
        }
        s.clear();//s字符串每次修改结束后必须清空,否则影响后续结果
    }
}
int main(){
    cin >> str;
    fun();
    sort(step,step+str.size());//找出长度为3的回文连续子串的数量的最大值
    cout << step[str.size()-1];
}

欢迎各位读者提出意见。

(菜菜洛谷奋斗小日记)

相关文章:

  • CSS 实现波浪效果
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_modules
  • 前端Npm面试题及参考答案
  • 深度剖析数据分析职业成长阶梯
  • Ubuntu20.04下各类常用软件及库安装汇总
  • 解锁浏览器内置API,助力跨标签/跨页面数据通信
  • 详解:事务注解 @Transactional
  • 【后端开发面试题】每日 3 题(四)
  • 【Python LeetCode 专题】面试经典 150 题
  • 卷积运算是如何进行的?
  • 详细对比所有开源许可及其不同版本
  • 人工智能之数学基础:线性代数中的特殊矩阵
  • 技术问题汇总:前端怎么往后端传一个日期?
  • 【网络安全】从NA到P1,我是如何扩大思路的?
  • CSS层叠上下文解析与应用
  • 计算机毕业设计SpringBoot+Vue.js实验室管理系统(源码+文档+PPT+讲解)
  • 学习笔记07——生产者-消费者模型4种实现方式
  • LLM 大语言模型定义以及关键技术术语认知
  • MySQL表字段数量上限解析
  • 平衡二叉树
  • 网站建设学生作业成品/品牌推广专员
  • 我的网站没备案怎么做淘宝客推广/短视频seo代理
  • JAVA网站开发程序员/seo搜索引擎优化课程总结
  • 惠州市 网站开发公司/建网站的流程
  • 万宁网站建设/外汇seo公司
  • 梧州网站制作/推广小程序拿佣金