https://ac.nowcoder.com/acm/contest/330/I

C++版本一

题解:

std

可以认为插入和删除是等价的操作。想到这一点,这题就会好做很多。
如果这个串本身就是回文串,答案一定是Yes。
否则我们只需要考虑串中对称的位置不相等的两个字符,分别尝试把它们删掉后判断一下是不是回文的就行了。

#include <bits/stdc++.h>
using namespace std;int check(const string& s)
{int n = s.length();for (int i = 0; i < n; i++)if (s[i] != s[n - 1 - i])return i;return -1;
}int main()
{string s;cin >> s;int diff = check(s);if (diff == -1)cout << "Yes" << endl;else{string tmp = s;string s1 = s.erase(diff, 1);string s2 = tmp.erase(tmp.length() - 1 - diff, 1);if (check(s1) == -1 || check(s2) == -1)cout << "Yes" << endl;elsecout << "No" << endl;}return 0;
}

C++版本二

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,q;
int ans,cnt,flag,temp;
int a[N];
char str[N],tmp[N];
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endifscanf("%s",str);//scanf("%d",&t);//while(t--){}int len=strlen(str);flag=0;for(int i=0;i<len;i++){if(str[i]!=str[len-i-1]){flag=1;cnt=i;}}if(flag){int l=0;for(int i=0;i<len;i++){if(i!=cnt){tmp[l++]=str[i];}}ans=0;for(int i=0;i<len-1;i++){if(tmp[i]!=tmp[len-i-2]){ans=1;}}if(ans){l=0;for(int i=0;i<len;i++){if(len-i-1!=cnt){tmp[l++]=str[i];}}ans=0;for(int i=0;i<len-1;i++){if(tmp[i]!=tmp[len-i-2]){ans=1;}}}if(ans){cout<<"No"<<endl;}else{cout<<"Yes"<<endl;}}else{cout<<"Yes"<<endl;}//cout << "Hello world!" << endl;return 0;
}

Applese 的回文串相关推荐

  1. Applese 的回文串(加一个字符的回文)

    链接:https://ac.nowcoder.com/acm/contest/330/I 来源:牛客网 自从 Applese 学会了字符串之后,精通各种字符串算法,比如--判断一个字符串是不是回文串. ...

  2. 【牛客 - 330I】Applese 的回文串(结论题,类似编辑距离,dp)

    题干: 自从 Applese 学会了字符串之后,精通各种字符串算法,比如--判断一个字符串是不是回文串. 这样的题目未免让它觉得太无聊,于是它想到了一个新的问题. 如何判断一个字符串在任意位置(包括最 ...

  3. 字符串处理 —— 回文串相关

    [回文串] 回文串,就是一个正读与反读都一样的字符串,比如:abcdcba.zxccxz 等 常见的回文串算法有:求字符串中最长回文串.判断一个字符串是否为回文串.在字符中添加/删除一个字符后是否为回 ...

  4. 伍六七带你学算法 入门篇-最长回文串

    力扣解题,每日一题:409. 最长回文串 难度- 简单 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" ...

  5. LeetCode简单题之最长回文串

    题目 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 . 在构造过程中,请注意 区分大小写 .比如 "Aa" 不能当做一个回文字符串. 示例 ...

  6. usaco Calf Flac(O(n)时间求回文串长度)

    好高兴,为数不多的我没看题解的题·,我用的是O(n)时间求回文串长度的算法算法在我上一篇博客. 然后就是注意细节了. /* ID:jinbo wu TASK: calfflac LANG:C++ */ ...

  7. manacher算法----O(n)最长回文串

    manacher算法----O(n)最长回文串 分类:字符串 (126)  (0)  举报  收藏 manacher的时间复杂度为O(n),后缀数组好像可以处理O(nlogn),但是有些变态题目可能卡 ...

  8. js把base64串解析成中文_回文问题终极篇:最小代价构造回文串

    学算法认准 labuladong 东哥带你手把手撕力扣? 点击下方卡片即可搜索? 读完本文,你可以去力扣完成第 1312 题「让字符串成为回文串的最少插入次数」,难度 Hard. 回文串就是正着读反着 ...

  9. c语言判断字符串是不是回文_125. 验证回文串

    125. 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例1: 输入: "A man, a ...

最新文章

  1. 如何实现显示超过10个字符就显示省略号?
  2. 资源 |​ 史上最全机器学习笔记
  3. 逗比讲算法:什么是冒泡排序?
  4. NLP领域近期有哪些值得读的开源论文?(附下载)
  5. Linux 网络 tcp C/S通信模型
  6. 安装系统提示选中的磁盘具有MBR分区表
  7. 【练习题】构造方法 编写Java程序,模拟简单的计算器。
  8. 在线激活流程研究, 芯片杂烩, 软件滤波算法
  9. linux卸载交叉工具,linux-如何从crosstool-ng工具链名称中删除供应...
  10. 售价16999元!心系天下三星W22 5G耀世发布
  11. 日历插件bootstrap-datetimepicker的使用感悟
  12. html状态栏透明,HTML – 如何使我的导航栏略微透明?
  13. 硬件开发过程简介(一)
  14. hustoj mysql_hustoj 管理员和后台设置
  15. linux拼音五笔输入法下载软件,自已动手制作Linux下拼音五笔输入法
  16. gitbook build 生成的HTML无法跳转问题
  17. QT quick中的登录界面(Rectangle,TextField文本框的使用)
  18. Linux如何查看当前Ubuntu系统的版本
  19. c++代码使用堆空间实现数据结构栈
  20. 今天14:00 | NeurIPS 专场六 青年科学家专场

热门文章

  1. 多特征值数据预处理_「人工智能」No.6 特征工程之数据预处理
  2. matlab如何创建table,table,matlab,中table数据类型,创建,调用,访问
  3. oracle取本月最后一天是星期几_Oracle 获取本周、本月、本季、现年的第一天和最后一天...
  4. pyqt5窗口 样式 背景
  5. keras从入门到放弃(二)多项回归
  6. 超越GPT-3!NormFormer:归一化提高预训练、缓解梯度不匹配
  7. 直播 | ACL 2021论文解读:表征与结构兼备,结构化语言模型R2D2
  8. Spring Security基于角色的权限管理
  9. 十进制整数(包括负数)和二进制的转换
  10. 安装graphviz