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

LeetCode之最长回文子串

1.题目链接

5. 最长回文子串 - 力扣(LeetCode)icon-default.png?t=N7T8https://leetcode.cn/problems/longest-palindromic-substring/description/

 

2.题目解析

对于这道题目我们可以使用动态规划的思路来求解,具体思路是,对于一个长度大于2的子串,如果它是回文串的话,那么将它首尾的两个字母去除之后,它仍然是个回文串。例如对于“ababa”,将首尾字符串去掉,剩下的还是回文串,那么我们就可以列出下面状态转移方程:

当子串长度大于2时

f[i][j] = f[i+1][j-1]\wedge s[i]==s[j]

当子串长度等于2时

f[i][j]=(s[i]==s[j])

 

3.代码如下:

class Solution {
public:string longestPalindrome(string s) {int n=s.size();bool f[n][n];memset(f,false,sizeof f);int maxi=0;string res;for(int l=1;l<=n;l++){for(int i=0;i+l-1<n;i++){int j=i+l-1;if(s[i]==s[j]){if(j-i<3){f[i][j]=true;}else if(f[i+1][j-1])f[i][j]=true;if(f[i][j]&&l>=maxi){maxi=l;res=s.substr(i,l);}}}}return res;}
};

http://www.lryc.cn/news/397776.html

相关文章:

  • Gradle 介绍
  • 短视频矩阵:批量发布的秘密揭秘
  • 基于 Nginx + Spring Boot + Vue + JPA 的网站安全防护指南
  • Perl词法切分器:文本解析的瑞士军刀
  • 基于深度学习LightWeight的人体姿态之行为识别系统源码
  • Mac窗口辅助管理工具:Magnet for mac激活版
  • DWM 相关实现代码 [自用]
  • 根据样本数据的区域分布进行重采样
  • 数据库之MQL
  • LabVIEW平台从离散光子到连续光子的光子计数技术
  • 【Linux】Windows平台使用gdb调试FFmpeg源码
  • 提交表单form之后发送表单内容到指定邮箱(单php文件实现)
  • 【设计模式之美】策略模式方法论:解耦策略的定义、创建和使用
  • 解析 pdfminer pdfparser.py
  • day10:03 一文搞懂encode和encoding的区别
  • 【wordpress教程】wordpress博客网站添加非法关键词拦截
  • untiy 在菜单栏添加自定义按钮 点击按钮弹出一个Unity窗口,并在窗口里添加属性
  • VIM模式之间的切换
  • Linux操作系统安全分析与防护
  • 【LeetCode】面试题 16.21. 交换和
  • Web知识库应用程序LibreKB
  • 神经网络和安全结合:一种基于神经网络的智能攻击检测与防御系统;构建攻击行为预测模型
  • 音视频解封装demo:将FLV文件解封装(demux)得到文件中的H264数据和AAC数据(纯手工,不依赖第三方开源库)
  • 51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)
  • 关于C# 开发Winfrom事后总结
  • Python学习笔记35:进阶篇(二十四)pygame的使用之音频文件播放
  • Transformer-LSTM预测 | Matlab实现Transformer-LSTM多变量时间序列预测
  • 常见的点云数据的获取方式
  • java 中钻石操作符 <> 的使用场景
  • C++ 定时器触发