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

【算法五十二】5. 最长回文子串

5. 最长回文子串

动态规划:

class Solution { public String longestPalindrome(String s) { //子问题:dp[i][j] 表示 s[i..j] 是否是回文子串 //动态方程:dp[i][j] = s[i]==s[j] && (j-i<=2 || dp[i+1][j-1]==true) //范围i从大到小,因为计算dp[i][j]需要dp[i+1][j-1] int n = s.length(); boolean[][] dp = new boolean[n][n]; int start = 0; int maxLen = 1; for(int i=n-1;i>=0;i--){ for(int j=i;j<n;j++){ if(s.charAt(i) == s.charAt(j)){ if(j-i<=2 || dp[i+1][j-1]){ dp[i][j] = true; int len = j-i+1; if(len>maxLen){ maxLen = len; start = i; } } } } } return s.substring(start,start+maxLen); } }

时间复杂度:O(N²)

空间复杂度:O(N²)

中心拓展法:

class Solution { public String longestPalindrome(String s) { int n = s.length(); int maxLen = 1; int start = 0; for(int i = 0;i<n;i++){ //奇数向外扩展 int len1 = expand(s,i,i); //偶数向外扩展 int len2 = expand(s,i,i+1); int len = Math.max(len1,len2); if(len > maxLen){ maxLen = len; //计算起点 start = i-(len-1)/2; } } return s.substring(start,start+maxLen); } private int expand(String s,int l,int r){ int n = s.length(); while(l>=0 && r<=n-1 && s.charAt(l)==s.charAt(r)){ l--; r++; } return r-l-1; } }

时间复杂度:O(N²)

空间复杂度:O(1)

http://www.rkmt.cn/news/1423746.html

相关文章:

  • 2026年西安高三补习学校排行榜:升学与口碑解析 - 科技焦点
  • 2021-2025年各省、地级市二次元关注度数据
  • 多渠道广告归因:3种逻辑解决效果分配难题
  • 2026四川优质电气设备厂家推荐,选购输配电设备看这份清单就够了 - 企业推荐师
  • 无感定位破解矿山难题,黎阳之光守护井下作业人员安全
  • Qt 线程同步与锁机制完全指南
  • 2026年西安高考补习学校推荐:师资与升学率解析 - 科技焦点
  • 高效LDAP测试工具实战指南:如何快速验证企业目录服务
  • Keil仿真下载bootloader后下载APP跳转不起来,后下载APP是正常的,问题解决
  • 数据目录是什么?数据目录有哪些分类?
  • 2026北京顺义区公司注册哪家靠谱?3家主流机构深度评测! - 小柏云
  • 西安全日制高三补习学校推荐:2026年管理模式、师资与效果深度解析 - 科技焦点
  • 领世而上:问界M9换代,赛力斯的高端定价权已经完成了闭环
  • 【编号889】山东省各城市-春节人口迁徙规模数据(2019-2025)
  • 视频号视频去水印用什么工具?2026四款免费工具实测对比 - 科技大爆炸
  • 11万人涌向广州,自助KTV成了声光电的下一个增量
  • 终极Detect It Easy使用指南:从零掌握文件类型识别与恶意软件分析
  • 四川盛世钢联|成都钢材长期合作供货商|万吨现货批发集采 - 四川盛世钢联营销中心
  • RPFF编辑器终极指南:一站式Total War模组制作解决方案
  • 终极指南:用命令行掌控Android设备 - Termux API完全解析
  • 2026镀锌钢花箱能用几年?户外景观项目越来越关注使用寿命
  • 基于Copula理论的多风电场风电预测误差时空相关性建模研究附matlab代码
  • 掌握ThinkPad散热主动权:TPFanCtrl2双风扇控制终极解决方案
  • 2026职场营销人如何持续提升自己竞争力
  • 2026北京公司注册机构测评,头部TOP机构首选! - 小柏云
  • 多智能体如何重构芯片RTL代码生成与验证闭环
  • 2026苏州学编程去哪?河马编程师资好性价比高 - 大厂扫地工
  • 如何快速找回压缩包密码:ArchivePasswordTestTool 完全使用指南
  • 四川盛世钢联|成都钢材采购找供应商|20000吨现货库存|经销商随时提货 - 四川盛世钢联营销中心
  • 别再傻傻重启电脑了!用这行命令一键清理Windows桌面图标缓存(附VBS脚本)