- [i, j] = [i - 1, j - 1] (+ 1),加一取决于s的第i个和p的第j个match与否,这种情况对应于replace一个字符,或者不需要repalce
- [i , j] = [i - 1, j] + 1,这种情况对应于插入或者删除s的第i个字符
- [i , j] = [i, j - 1] + 1,这种情况对应于插入或者删除p的第j个字符
假设输入string分别长m和n,时间复杂度和空间复杂度都是O(m * n),代码如下:
我们可以用滚动数组把空间优化到O(n),代码如下:
No comments:
Post a Comment