北川广海の梦

北川广海の梦

[转载]动态规划KMP算法

2020-04-18

原地址:https://github.com/labuladong/fucking-algorithm/blob/master/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%B3%BB%E5%88%97/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E4%B9%8BKMP%E5%AD%97%E7%AC%A6%E5%8C%B9%E9%85%8D%E7%AE%97%E6%B3%95.md

主要思想,通过DP数组,记录状态,即处于当前状态时,遇到的下一个字符i,会让我的当前状态发生改变。如果能够到达最终状态,那么说明字符串匹配。

最难理解的地方在于所谓“影子状态”,即当前状态的上一个状态。
如果当前状态下遇到的这个字符i,不能发生状态推进。那么就看上一个状态下遇到这个字符,会变成什么状态。