kmp-----leetcode(Implement strStr() )

原创 2015年07月08日 18:33:45

继续学习开始刷题;。。。

首先为什么要用kmp,我们遇到问题是在字符串s1 和字符串s2, 想在字符串s1中找到s2,返回s1中的起始位置。

比如

       s1 = "ABABCABCD"

s2 ="ABCD"

   返回结果是5


首先想到的是暴力匹配,发现相同的i++,j++,如果不相同i= i-j+1,j=0。直到 j的大小等于s2的长度。

看了好久好久才知道kmp的的意思,最后发现点击打开链接这个博客写的很清晰,而kmp则是不用重头来比较,而最重要的是求next数组



void Solution::GetNextArray( string needle )
{
    next = new int[ needle.size() ];
    next[ 0 ] = -1;
    int i = 0;
    int j = -1;
    while( i<needle.size() )
    {
        if( j == -1 || needle[ i ] == needle[ j ] )
        {
            i++;
            j++;
            next[ i ] = j;
        }
        else
        {
            j = next[ j ];
        }
    }
}



[Leetcode P28] Implement strStr()(KMP算法)

原题:Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if need...

Leetcode 28. Implement strStr() KMP算法解题

Implement strStr().   Returns the index ofthe first occurrence of needle in haystack, or -1 if nee...

LeetCode-难题集之Implement strStr()与KMP算法

Implement strStr():https://leetcode.com/problems/implement-strstr/ Implement strStr(). Returns the ...
  • ww2041
  • ww2041
  • 2016年08月16日 11:11
  • 975

Implement strStr() [leetcode] BM算法和KMP算法

我的实现中,BM算法在OJ中比KMP稍慢

LeetCode_28---Implement strStr() [KMP算法,字符匹配算法]

Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle...

LeetCode Implement strStr()(朴素的字符串匹配,RK算法,KMP算法)

这次来个大整合,因为正好处理到经典的字符串匹配问题 那么也是用c语言实现,现在开始吧 Implement strStr(). Returns the index of the first occ...

LeetCode Implement strStr() 暴力法, KMP法, Boyer-Moore简易版法

经典的字符串查找问题了。这个问题其实有四种比较经典的算法,这里介绍2种半。因为这里的Boyer-Moore是简易版,全功率版应该是简易版加上KMP法的,那个实在是复杂,面试是不大可能写出来的,除非记熟...

[LeetCode-28] Implement strStr(KMP 字符串匹配)

1、KMP算法的思想 由D.E.Knuth、J.H.Morris和V.R.Pratt共同提出了一个改进算法,消除了Brute-Force算法中串s指针的回溯,完成串的模式匹配。时间复杂度为O(s.c...

leetcode 题解 || Implement strStr() 问题 (即 KMP 算法实现)

problem: Implement strStr(). Returns the index of the first occurrence of needle in ha...

28. Implement strStr() 以及KMP算法的实现

28. Implement strStr()题目描述Implement strStr().Returns the index of the first occurrence of needle in ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:kmp-----leetcode(Implement strStr() )
举报原因:
原因补充:

(最多只允许输入30个字)