最长重复子串
爷投了……
真的做不出来,试过的三个思路都会超时……
1、题都给我看哭了
现在最前头,今天的题,不是一般的难。
据题解里大佬指路,我发现了今天的题是第136场周赛的压轴。
难度与得分都是四题中最顶尖的。
而参加周赛的4000多名来自全球的选手,在90分钟的角逐中,仅96位做出了此题,国人选手只有6位。
说了这么多,其实只是想告诉各位,这题做不出来不丢人,好好学习吧
于是,此篇主要用于记录他人的牛逼解法,以供后来的我学习!
加油啊!后来的我!
2、前方即是地狱啊!
最先登场的是官解选手!
虽然官解写得并不好,但出于尊重还是放第一个。
官解是使用二分查找 和 Rabin-Karp 算法实现的。
Rabin-Karp 算法在昨天的题解中也有出现。是解决字符串匹配问题的常客之一。
其思想是将字符串转换为hash,并通过比较hash值的方式判断是否一致。其基于滑动窗口的思想,能够让得出后续字符串的时间复杂度为O(1)。
而需要解决的问题便是哈希冲突和值存储问题(长字符串+复杂的hash方法很容易溢出)。
然后登场的是题解中的常客大牛——三叶大佬!
如果你坚持刷每日一题,你都可以在题解里看到三叶大佬的身影。
第一种解法与官解相似,所以不多赘述。
这里主要是想记录一下第二种解决,基于后缀数组。
如果你认真学习了昨天的KMP算法,你会知道KMP是基于前缀数组的。
辣么什么是后缀数组呢?
啊我也不会。
由于我也是第一次接触后缀数组,所以这里特别记录一下,望后来的我多多努力!
3、总结
这是我开坑这个系列以来,第一次投降……
充分说明了我的水平不过尔尔。
不过菜就要承认,挨打要立正。
学习他人的智慧,来让自己更强大,不正是我写这些博文的目的吗?
加油!共勉!