首页 > 其他分享 >判断给出回文串能否构成新的回文串

判断给出回文串能否构成新的回文串

时间:2024-01-29 16:37:42浏览次数:25  
标签:return cout int pos length 给出 能否 回文

 AC代码如下:

#include <bits/stdc++.h> using namespace std;
bool judge(string s, int pos){     swap(s[pos], s[pos + 1]);     swap(s[s.length() - pos - 1],s[s.length() - pos - 2]);     if(s[pos] != s[s.length() - pos - 1] || s[pos + 1] != s[s.length() - pos - 2]){return false;}     else{         cout << s;         return true;     }  }
int main(){     string s; cin >> s;     for(int i = 0; i < s.length() - 1; i++){ \\遍历每一种可能性, 一次交换相邻的两个字母         if(s[i] != s[i + 1]){ \\  两个相邻的字母不会进行交换,交换过后只可能是原回文串,或无法构成回文串。             if(judge(s, i)){                 return 0;             }         }     }     cout << -1;     return 0; }   1.如何遍历每一种构成回文串的可能性; 2.每次进行判断的条件/

标签:return,cout,int,pos,length,给出,能否,回文
From: https://www.cnblogs.com/shalins/p/17994802

相关文章

  • 在写布局样式的时候,什么时候命名为area,什么时候为container,什么时候为wrapper,什么时
    在编写布局样式时,对于类名的选择如area、container、wrapper和box等具有语义的名称是非常重要的,它们可以帮助开发者和维护者更好地理解HTML结构与功能。以下是一些最佳实践以及何时使用这些类名的理由:container:通常用于包裹整个页面或特定区块的主要内容容器。理由:这......
  • 【华秋干货铺】过孔能否打在焊盘上?
    在PCB设计中,过孔是否可以打在焊盘上需要根据具体的应用场景和设计要求来决定。 如果是在个人DIY的情况下,将过孔打在焊盘上可能不会产生太大问题。 然而,如果是在SMT贴片生产中,这样做可能会导致立碑现象。因为焊锡的表面张力会拉动元器件立起来,导致虚焊、脱焊和接触不良等问......
  • APIO2014 回文串
    APIO2014回文串decription给定一个长度为\(n\)的字符串\(S\)。求其所有回文子串中出现次数乘上长度的最大值。\(n\leq3\times10^5\)solution根据经典结论,长度为\(n\)的字符串的本质不同回文子串个数不超过\(n\)个,我们可以找出所有本质不同回文子串,然后计算它们的......
  • 【K哥爬虫普法】倒计时21天!事关爬虫er们能否平安回家过年!
     我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。事出有因 ......
  • 代码随想录 day27 组合总和 组合总和 II 分割回文串
    组合总和其实总的思路和前面几类组合问题区别不大本题由于说明了元素可以重复选取且无需考虑sum为0的情况只需要把边界的startIndex迭代从i+1变成i即可i表示可以选取元素本身很容易写出以下未进行剪枝的代码剪枝情况只是多了一种也就是sum+下一个候选元素>targ......
  • 【算法】【字符串】验证回文串
    1 题目如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。示例1:输入:s="Aman,a......
  • 5.最长回文子串
    1.题目介绍给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1:输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案示例2:输入:s="cbbd"输出:"bb"2.题解2.1动态规划思路对于一个子串而言,如果它是回......
  • 分割回文串 131
    这也是用回溯解决,回溯就是多层for循环,但是这一题有点难发现多层for循环体现在哪里。实际上该问题for循环的层数与字符串的间隔有关for循环的层数代表,分割线的个数;for循环的遍历代表这分割线的位置。这里引用卡哥的图:因为分割线不能取前一个的位置,所以要根据之前组合那题的套......
  • 回文字串
    回文串一般可以考虑把串倒过来思考问题对一个给定的串,我们将其倒序,设其长度为\(l\),求出原串和倒序的串的LCS,设长度为\(x\),则答案为\(l-x\)证明:我们假设已经获得了最终的回文串,然后我们将这个回文串倒序,那么肯定这个回文串与这个原串是相等的以样例为例其中红色字符是添加的......
  • 吴师兄学算法day07 双指针 680. 验证回文串 II
    题目:680. 验证回文串II易错点:s[1:3]是左闭右开我的第一次代码:classSolution(object):defvalidPalindrome(self,s):""":types:str:rtype:bool"""isPalindrome=lambdax:x==x[::-1]l......