- 博客(10)
- 收藏
- 关注
原创 字符串之——Manacher算法,解决最长回文问题!
回文:就是正着读和反着读一样举例: ABCECBADE的回文子串就是就是:ABCECBA ABBABCF的子串就是:ABBA 回文问题的经典解法加#:为了解决奇数回文字符串 从每个位置的从左从右对比:如果一遍直接越界限:即为1,如果有值的情况下越界,则不进行累加 如果一样,则累加上左右两边即:1+2 还是拿上面的例子来举:#A#B#C#E#C#B#A#D#E# #A#B#C#E#C#B#A# 一样的长度为15 :15/2(除去#的长度)= 7 问..
2021-01-31 23:05:30
185
原创 深入理解并分析KMP算法——KMP:解决所有的包含问题!
说KMP前说一下String类型的indexOf方法:indexOf所用到的底层是KMP算法大体上类似,但是在KMP的常数项上进行了进一步优化,使之更加完美。KMP自身已经很牛了,开淦!KMP所解决的是一个包含问题核心技术点在于一个next数组的创建和使用过程 先说next数组的创建吧 next数组的0位置人为规定-1; next数组的1位置认为规定0; next数组所记录的是目标数组的当前索引前(不包括当前索引)的最长相等的前缀和后缀 举个例子 由上图得知索
2021-01-21 19:45:22
441
原创 岛问题,并查集,岛问题的升级
岛问题题目要求 这道题的解法有很多种 我采用的是多路递归的方式具体来说就是时间复杂度为O(n)的方式。将已经确定的变成2,看代码 package LiKou.Graph;public class IsLand { public static int getLand(int[][] arr) { int sum = 0; for (int i = 0; i < arr.length; i++) { f..
2021-01-19 20:33:28
127
原创 浅谈哈希函数和哈希表,布隆过滤器,一致性哈希
哈希的四种特征输入可以无穷,输出是有穷尽的 输入相同的情况下,输出一定相同(不包含随机性) 不同的输入,有可能输出相同,此时的情况为哈希碰撞(概率极小) 均匀性和离散性能够得到保证 离散性或者均匀性越好,证明这个哈希函数越优秀。 哈希值%M:表示在0-M之间均匀分布。哈希函数的题型给40亿个数,然后给你1G内存,找出相同数值出现次数比较多的数。 40亿个数:约合为G为 16000000000 字节=14.9011612 G 按照传统的办法(暴力方法)用哈希表进行计算的话,最坏情
2021-01-17 21:23:36
429
原创 二叉树——Morris遍历:同等时间复杂度下将空间复杂度将收敛到O(1)
morris遍历,笔试的时候就不要用了,以试题最快accept为准,因此绝大多数用在面试中 比如现在来了一道 给你一个二叉树的头节点,判断这棵树是不是搜索二叉树 一万个人都会说递归方法怎么做或者非递归方法怎么做 你在面试官前将morris讲清楚,中标几率不就大幅提升了不是,手动狗头! 来个插曲:KMP中的morris和二叉树的这个morris是同一个人,算法偶像吧哈哈哈。 ...
2021-01-07 17:31:57
179
原创 BFPRT->求无序数组中第K小的数:要求时间复杂度O(n):两种方法!
昨天和好友 @覃会程 仔细探讨了关于在无序数组中求第K小或者第K大的数这道题,记下来->直呼妙啊!需要奠定的知识点 在快排的基础上,又不与快排相似,正是这个不相似的点,让时间复杂度由O(NlogN)收敛道O(N) 以及 ...
2021-01-04 21:03:27
589
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人