回文类题目总结
唉,要开始好好准备面试了。
今天看到一道题目:
一个字符串,删除其中部分字母,能够组成的最长的回文串,是多长?
这道经典的题目,我居然开始的时候没想出来!虽然想到了动态规划,但是居然想到了首尾不同的话,尾部还要遍历,平白增加了非常多的编程复杂度。。。。。而实际上,只要简单的首尾比较然后动态规划就可以了!这是top-down,容易栈比较多。bottom-up的话,可以先看长度为1的结果,然后长度为2,然后长度继续增加。
如果又忘了。。。这里面有top-down的解法介绍:http://blog.csdn.net/ly52352148/article/details/51447142 (代码没看,思想就是这样的)
要好好加油了!
https://leetcode.com/problemset/algorithms/
里面search palindrome,可以看到一些题目:
。 |
409
|
Longest Palindrome | 44.5% | Easy | ||
。 | 336 | 24.7% | Hard | |||
。 | 267 | 31.0% | Medium | |||
。 | 266 | 55.1% | Easy | |||
。 | 234 | 31.6% | Easy | |||
。 | 214 | 23.0% | Hard | |||
。 | 132 | 23.4% | Hard | |||
。 | 131 | 30.8% | Medium | |||
。 | 125 | 25.3% | Easy | |||
。 | 9 | 34.1% | Easy |
先看的这道题目:
214 | Shortest Palindrome | 23.0% | Hard |
我的解法在:
/Users/baidu/Documents/Data/Interview/leetcode/shortest-palindrome
太好了,实在太好了。要好好看。
然后看的这道题目:
409 | 44.5% | Easy |
解法在:http://www.cnblogs.com/charlesblc/p/5929656.html 原题太简单了,如果不发散想想其他题目,没什么好看的。
131 | Palindrome Partitioning | 30.8% | Medium |
也看了。我的方法是递归。里面有提到一种dp+dfs的解法。
132 | Palindrome Partitioning II | 23.4% | Hard |
这一道题目,难。
看了我自己的解法,是从中间发散的,还是很好的。
另外,我觉得借鉴上一道题目的思路,把每一个i.j是否palin的情况都列出来,然后dfs来得出最后一个元素所在的最少的分割,应该也能做出来。
266 | Palindrome Permutation | 55.1% | Easy |
locked的项目,较简单,思路比较清晰。
267 | Palindrome Permutation II | 31.0% | Medium |
也是locked。解法里面先用map统计,然后用递归来减除并处理。也可以不用递归,那就要用栈。
9 | Palindrome Number | 34.1% | Easy |
解法真的蛮巧妙的。开始我就没想到。
336 | Palindrome Pairs | 24.7% | Hard |
难怪这是Hard难度的。开始的时候,以为循环遍历就可以了。其实不行的,会超时,还是要用map来查。
125 | Valid Palindrome | 25.3% | Easy |
用到了stl里面的transform
234 | Palindrome Linked List | 31.6% | Easy |
题目还是蛮好的。我也想起来了。
再想到其他回文的题目,再补充。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!