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

最短回文串解题思路分享

在算法学习中,如果想挑战高难度的算法题,可以尝试挑战下这道题:

常规做法:

class Solution:def shortestPalindrome(self, s):""":type s: str:rtype: str"""ss=s[::-1]n=len(ss)for i in range(len(s),-1,-1):if ss[n-i:]==s[:i]:breakreturn (ss[:n-i]+s)

可使用 Manacher 和 KMP, Manacher 算法是求最长回文子串非常漂亮的算法了。本题目可以转换为求给定字符串从首字母开始的最长回文子串(然后将余下的 reverse,insert 到头部就可以),而求从首字母开始的最长回文子串,可以用 Manacher 算法,也可以将 str 反转以后拼接到 str 尾部,使用 KMP 的求 next 数组,这样 next 数组最后一个值就是从首字母出发的最长回文子串长度。

写在最后

解题方法千变万化,重在思考的过程,并非答案。许多实战过的小伙伴相信也在面试大厂的岗位时,了解面试官其实并不关心最终结果,而是需要你提供自己的理解和思路。

http://www.xdnf.cn/news/13295.html

相关文章:

  • 基于大模型预测的输尿管上段积水诊疗方案研究报告
  • 【TinyWebServer】HTTP连接处理
  • 【位运算】消失的两个数字(hard)
  • websocket实践
  • 通过Netplan为Ubuntu服务器新增DNS以解析内部域名
  • 设计模式-适配器模式
  • 微信小程序 - 手机震动
  • 《P1168 中位数》
  • 期末考试复习总结-《应用程序框架基础》
  • 系统网站首页三种常见布局vue+elementui
  • 【Element Plus】Menu组件:url访问页面时高亮对应菜单栏
  • 板凳-------Mysql cookbook学习 (十--4)
  • 小程序动画性能提升指南:CSS硬件加速与JavaScript动画框架对比
  • CentOS下的运维监控Grafana部署
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十二) -> 构建系统生命周期
  • okhttp 实现长连接的完整方案
  • OpenLayers 获取地图状态
  • Docker 安装教程(CentOS 系统)纯新手可入门
  • wordpress后台更新后 前端没变化的解决方法
  • Java异步编程之消息队列疑难问题拆解
  • 2506C++,C++的时间库
  • 搭建本地瓦片地图服务器的完整指南
  • 脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
  • SCAU期末笔记 - 数据分析与数据挖掘题库解析
  • 使用 ML.NET Model Builder 训练机器学习模型进行预测性维护
  • 60天python训练计划----day50
  • 连锁超市冷库节能解决方案:如何实现超市降本增效
  • spring中的ImportSelector接口详解
  • 《高等数学》(同济大学·第7版)第四章第一节不定积分的概念与性质
  • 微软PowerBI考试 PL300-在 Power BI 中设计语义模型 【附练习数据】