摘要: 先给出可整合数组的定义:如果一个数组在排序之后,每相邻两个数的差的绝对值都为1,或者该数组长度为1,则该数组为可整合数组。 例如,[5, 3, 4, 6, 2]排序后为[2, 3, 4, 5, 6],符合每相邻两个数差的绝对值都为1,所以这个数组为可整合数组 给定一个数组arr, 请返回其中最大可整 阅读全文
posted @ 2021-11-14 17:12 sherry001 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 对于一个字符串,我们想通过添加字符的方式使得新的字符串整体变成回文串,但是只能在原串的结尾添加字符,请返回在结尾添加的最短字符串。 给定原字符串A及它的长度n,请返回添加的字符串。保证原串不是回文串。 Manachert算法告诉我们一件事:任何一个位置为中心,向左右两边扩的回文半径或回文直径的范围都 阅读全文
posted @ 2021-11-14 16:17 sherry001 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串str,只能在str的后面添加字符,生成一个更长的字符串,更长的字符串需要包含两个str,且两个str开始的位置不能一样。求最少添加多少个字符。 其实就是求终止字符的next数组 kmp 知道了最大共用-》最少添加 public class Main{ public static St 阅读全文
posted @ 2021-11-14 15:55 sherry001 阅读(48) 评论(0) 推荐(0) 编辑