1. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb"动态规划1、当 i 和 j 的差距等于小于 ...
分类:
其他好文 时间:
2020-07-21 14:24:39
阅读次数:
91
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。 使用python的with语句 实现在处理文件时,无论是否抛出了异... ...
分类:
编程语言 时间:
2020-07-21 09:48:17
阅读次数:
67
扩展KMP 舞蹈链 卢卡斯定理/扩展卢卡斯 莫比乌斯反演 线段树分裂 LCT manacher 回文自动机 点分治 ...
分类:
编程语言 时间:
2020-07-20 23:01:57
阅读次数:
117
回文自动机,据说是解决回文问题的利器。感觉板子还是非常简洁的,容易记忆。 ...
分类:
其他好文 时间:
2020-07-20 22:49:47
阅读次数:
66
\(DP\) 没有长度为奇数的回文串,必定满足没有长度为$3$的回文串 我们要避免$x,y,x$的情况 即$a[i]≠a[i+2]$ 根据这一规律,我们把序列拆成下标分别为奇数和偶数的两个序列分别处理 可以发现,一段$-1$的区间的可能性只与其两端的数是否相等有关,故可以预处理出$dp$数组。 $d ...
分类:
其他好文 时间:
2020-07-20 20:33:56
阅读次数:
84
段式回文 其实与 一般回文 类似,只不过是最小的单位是 一段字符 而不是 单个字母。 举个例子,对于一般回文 "abcba" 是回文,而 "volvo" 不是,但如果我们把 "volvo" 分为 "vo"、"l"、"vo" 三段,则可以认为 “(vo)(l)(vo)” 是段式回文(分为 3 段)。 ...
分类:
其他好文 时间:
2020-07-19 23:07:11
阅读次数:
63
题目链接 #解题思路 马拉车当然是求最长回文既简单又快速的方法,不过这里因为要联系hash就没用马拉车了。设回文串的中心为a,b(奇回文a=b)先正着hash一遍,再倒着hash一遍,就能得到[a+len,a]和颠倒后的[b,b+len]两个子串哈希值,对比它们的哈希值就能判断两个子串是否相等,至于 ...
题目来源:leetcode647 回文子串 题目描述: 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。 示例 1: 输入: "abc" 输出: 3 解释: 三个回文子串: "a", "b", "c". ...
分类:
其他好文 时间:
2020-07-18 19:57:25
阅读次数:
73
给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例 1: 输入: "aba"输出: True示例 2: 输入: "abca"输出: True解释: 你可以删除c字符。注意: 字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。 来源:力扣(LeetCode)链接 ...
分类:
其他好文 时间:
2020-07-18 15:29:26
阅读次数:
52
题目链接 题目链接 题目 给定一个十进制数和基数,判断对应进制数是否回文数,并打印 1 0是回文数 2 题目中没有标明大于10的进制中字母如何处理,试错发现,并不能将两位数字转化为字母,而是使用两位数字,并且在判断回文和打印时,这个两位数字都看做一个整体 解题思路 因为要用两位数字表示基数大于10的 ...
分类:
其他好文 时间:
2020-07-18 13:53:20
阅读次数:
87