首页 > 其他分享 >ACwing 1524. 最长回文子串

ACwing 1524. 最长回文子串

时间:2024-12-21 17:08:49浏览次数:3  
标签:std int 1524 && ans input ACwing 回文

ACwing 1524. 最长回文子串

因为这个题的数据范围只有1000,所以能O(n)枚举,枚举回文子串的中点,然后向两边延展,看看极限长度是多少,注意每次要区分奇数长度字串和偶数长度字串,两种的计算方式不一样。

#include <iostream>
#include <cstdio>
#include <cstdlib>

int main() {
	std::string input;
	std::getline(std::cin, input);
	int ans = 0, j;
	for(int i = 0; i < input.size(); i++) {
		// 统计奇数长度
		int l = i - 1, r = i + 1;
		while(l >= 0 && r < input.size() && input[l] == input[r]) 
			l--, r++;
		ans = std::max(ans, r - l - 1);
		// 统计偶数长度
		l = i; r = i + 1;
		while(l >= 0 && r < input.size() && input[l] == input[r]) 
			l--, r++;
		ans = std::max(ans, r - l - 1);
	}
	std::cout << ans << std::endl;
}

标签:std,int,1524,&&,ans,input,ACwing,回文
From: https://www.cnblogs.com/smartljy/p/18620955

相关文章

  • 回文链表
    给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。示例1:输入:head=[1,2,2,1]输出:true示例2:输入:head=[1,2]输出:false 思路:使用栈来存储节点值,然后开始比对/***Definitionforsingly-linkedlist.*str......
  • LeetCode题集-9 - 回文数
    题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。01、反转字符串法此题我第一反应就是直接把整数转为字符串,然后通过字符串Reverse方法,反转字符串,最后......
  • 7-273 判断回文串
    若一个串正向看和反向看等价,则称做回文串。例如:t,abba,xyzyx均是回文串。给出一个长度不超过60的字符串,判断是否是回文串。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每行输入一个长度不超过60的字符串(串中不包含空格)。输出格式:对于每组测试数据,......
  • 5. 最长回文子串
    题目链接解题思路:最长回文子串问题,首先要将原字符串扩充,比如abba,暴力是以每个字符s[i],左右两边扩,如果是abba,得不到最优解,扩充成#a#b#b#a#,就不会有问题,最优解是manacher算法。假设s[i]扩充的区域是[x,y],是目前便利到的,最远的距离,我们称i为回文中心C,y为回文最远右边界R,同时,......
  • 代码随想录算法训练营第四十六天|leetcode647. 回文子串、leetcode516.最长回文子序列
    1leetcode647.回文子串题目链接:647.回文子串-力扣(LeetCode)文章链接:代码随想录视频链接:动态规划,字符串性质决定了DP数组的定义|LeetCode:647.回文子串哔哩哔哩bilibili思路:嘿,看不懂有一点,看解析吧1.1视频后的方法其实看完视频以后,感觉这个题目真的不难,我想到了二维......
  • 题海拾贝:LCR018.验证回文串
               Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!我的博客:<但凡.我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》欢迎点赞,关注!1、题目2、2、题解         这个题如果没有空格和符号的话,那就直接双指......
  • 【力扣算法】234.回文链表
    快慢指针:一个指针走两步,一个指针走一步,当快指针走到链表末尾时,慢指针走到中间位置。 逆转链表:根据指针位置分成两个表,逆转第二个表。按序判断就可以,如果是相同就是回文,反之就不是。快慢指针能找链表中间,也可以判断链表是否有环/***Definitionforsingly-linkedlist.......
  • leetcode 866. 回文质数
    866.回文质数想着开大数组,用质数筛选的方法。但是开大数组超内存了......
  • 代码随想录算法训练营第四十六天|LeetCode647.回文串、LeetCode516.最长回文子序列
    前言打卡代码随想录算法训练营第49期第四十六天 ε(*′・∀・`)з゙首先十分推荐学算法的同学可以先了解一下代码随想录,可以在B站卡哥B站账号、代码随想录官方网站代码随想录了解,卡哥清晰易懂的算法教学让我直接果断关注,也十分有缘和第49期的训练营大家庭一起进步。LeetCode647......
  • leetcode 125. 验证回文串
    125.验证回文串二刷,用时3ms,内存9.81MB一定要注意,是移除所有除了数字、字母以外的字符classSolution{public://'a'-'A'=32boolisPalindrome(strings){intleft=0,right=s.size()-1;while(left<right){while(left<......