当前位置:网站首页>PAT甲级:1040 Longest Symmetric String
PAT甲级:1040 Longest Symmetric String
2022-08-04 13:06:00 【正在黑化的KS】
题目描述:
Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given
Is PAT&TAP symmetric?
, the longest symmetric sub-string iss PAT&TAP s
, hence you must output11
.Input Specification:
Each input file contains one test case which gives a non-empty string of length no more than 1000.
Output Specification:
For each test case, simply print the maximum length in a line.
Sample Input:
Is PAT&TAP symmetric?
Sample Output:
11
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
题目大意:
给定一个字符串 求最长回文子串的长度
解题思路:
最长回文子串
dp[i][j] 表示 s[i] 至 s[j]如果是回文子串则为1, 反之则为0
1. s[i]==s[j] 那么只需要 s[i+1], s[j-1]是回文子串, s[i]至s[j] 就是回文子串: dp[i][j] = dp[i+1][j-1]2. s[i]!=s[j]:
dp[i][j] = 0 s[i]至s[j]不是回文子串
根据从边界出发的原理, 注意到边界都是长度为1或2的子串, 每次转移都对子串的长度-1, dp[i][j] = dp[i+1][j-1]不妨考虑按子串的长度和子串的初始位置进行枚举
Python3代码:
s = input()
length = len(s)
dp = [[0]*(length+10) for i in range(length+10)]
res = ''
for l in range(1,length+1) :
i = 0
while i + l - 1 < length :
j = i + l - 1
if l == 1 : dp[i][j] = 1
elif l == 2 and s[i] == s[j] : dp[i][j] = 2
else :
if s[i] == s[j] and dp[i+1][j-1] : dp[i][j] = dp[i+1][j-1] + 2
if dp[i][j] > len(res) : res = s[i:j+1]
i += 1
print(len(res))
边栏推荐
- router---dynamic route matching
- 一文梳理NLP主要模型发展脉络
- 【Game Of AutoTest】1、再度启程,重识游戏自动化测试
- Diffusion Models:生成扩散模型
- 【PHP实现微信公众平台开发—基础篇】第1章 课程介绍
- RK1126编译gdb 板子上gdb调试程序
- Cockpit human-computer interaction "undercurrent", voice "down", multi-modal "up"
- JSX使用
- du命令_set命令选项
- Motion Rule (16)-Union Check Basic Questions-Grid Game
猜你喜欢
小程序对接企业微信客服
MATLAB——图像分块
[UML] Summary of Information System Analysis and Design Knowledge Points
5 cloud security management strategies enterprises should implement
【VSCode】一文详解vscode下安装vim后无法使用Ctrl+CV复制粘贴 使用Vim插件的配置记录
Unity 3D模型展示框架篇之资源打包、加载、热更(Addressable Asset System | 简称AA)
面试官:如何查看/etc目录下包含abc字符串的文件?
LeetCode 1403 非递增顺序的最小子序列[贪心] HERODING的LeetCode之路
“蔚来杯“2022牛客暑期多校训练营4 N
LeetCode 1403 Minimum subsequence in non-increasing order [greedy] HERODING's LeetCode road
随机推荐
Why don't young people like to buy Mengniu and Yili?
【自动微分实现】反向OO实现自动微分(Pytroch核心机制)
router---mode
《社会企业开展应聘文职人员培训规范》团体标准在新华书店上架
odoo13笔记点
RK1126编译gdb 板子上gdb调试程序
leetcode 48. Rotate Image 旋转图像(Medium)
漏洞复现 - - - Alibaba Nacos权限认证绕过
面试官:如何查看/etc目录下包含abc字符串的文件?
ES 节点2G内存分析
The head module of the yolo series
两个数组中用第二个数组的Value对比换第一个数组中的Key
干货丨数学规划视角下的分货优化解题思路
sqlserver删除重复数据
Diffusion Models:生成扩散模型
LeetCode 1403 非递增顺序的最小子序列[贪心] HERODING的LeetCode之路
Escape character is ‘^]’什么意思?怎么使用telnet
【牛客刷题-SQL大厂面试真题】NO5.某宝店铺分析(电商模式)
高手,云集在于REST、gRPC 和 GraphQL之间!
SSRF-服务器端请求伪造-相关知识