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

蓝桥杯 回文字符串

问题描述

小蓝最近迷上了回文字符串,他有一个只包含小写字母的字符串S,小蓝可以往字符串S的开头处加入任意数目个指定字符:lqb(它们的 ASCII 码分别为:10811398)。

小蓝想要知道他是否能通过这种方式把字符串S转化为一个回文字符串。


样例输入

3 gmgqlq pdlbll aaa

样例输出

Yes No Yes

样例说明

  • 对于gmgqlq,可以在前面加上qlq,使其变为回文字符串:qlqgmgqlq
  • 对于pdlbll,无法转化为回文字符串。
  • 对于aaa,本身就是一个回文字符串。

评测用例规模与约定

  • 对于 50% 的评测用例,1 ≤ |S| ≤ 1000,其中|S|表示字符串S的长度;
  • 对于所有评测用例,1 ≤ T ≤ 101 ≤ Σ|S| ≤ 10^6,即所有字符串的总长度不超过 10^6。

c++代码

#include<bits/stdc++.h>usingnamespacestd;intT;string s;boolishui(string str){intleft=0,right=str.size()-1;while(right>left){if(str[left]!=str[right])returnfalse;left++;right--;}returntrue;}intmain(){cin>>T;while(T--){cin>>s;while(true){if(ishui(s)){cout<<"Yes"<<endl;break;}if(!(s.back()=='q'||s.back()=='l'||s.back()=='b')){cout<<"No"<<endl;break;}s.erase(s.size()-1);}}}//by wqs

思路解析

实在没想到,这道题目暴力也能过

我还在想怎么优化,结果直接满分了。

就是不断判断是不是回文

如果是回文输出YES

如果不是

看字符串的末尾,

如果不是qlb,直接输出No

如果是q,l,b说明可以在前面加q,l,b使得它有可能回文,我只要判断中间这一段是否回文就行,所以我把末尾这一个删除,判断下一个字符串是不是回文。例如字符串pdlbll,最后一个字符串是l,我可以变成lpdlbll,我只要判断pdlbl是不是回文,接着我可以变成lpdlbl,我只要判断pdlb是不是回文,以此类推。

http://www.jsqmd.com/news/468425/

相关文章:

  • 基于 libhv+Brigand 实现 HTTP 接口批量自动化注册
  • 1. 冒泡排序程序
  • Java(面向对象篇)
  • 唯品花购物额度提现与个人征信:合规使用、维护信用 - 容易提小溪
  • Elasticsearch 8.x 在 java 中的使用情况
  • 量化策略兼容性设计
  • 从安装到部署:SmartFormat在.NET项目中的完整集成指南
  • 蓝桥杯 跑步计划
  • 论文写作必备!2026年超实用AI工具排行榜,学生党赶紧私藏! - 资讯焦点
  • 半同步复制
  • 蓝桥杯 残缺的数字
  • 苍穹外卖(数据统计-图形报表)
  • 苍穹外卖(数据统计–Excel报表)
  • 蓝桥杯 整数变换
  • OpenTelemetry Operator避坑指南:从TLS证书配置到Sidecar自动注入的全流程解析
  • 算法训练-模拟
  • Java(API与算法篇)
  • 量化交易策略的运行
  • 蓝桥杯 定时任务
  • 医疗影像分割实战:从原理到代码,全面解析surface-distance评估指标
  • 蓝桥杯 火车运输
  • ArcGIS实战:从XYZ坐标点到等高线的全流程解析
  • OpenVINO模型量化实战:用NNCF搞定PaddleOCR文本检测模型(附完整代码)
  • 为什么消息队列不像数据库那样可以配置读写分离?
  • Halcon 3D视觉实战:从点云预处理到精准定位的完整流程解析
  • 蓝桥杯 最大区间
  • 大端小端检测实战:5分钟用联合体写出CPU字节序测试工具(附结构体对比)
  • 量化交易系统技术方案设计
  • pr 3dmax ae au 达芬奇等各类安装包需要的自提,
  • swift- Swift中常见的面试题