문자열 일치 알고리즘 sunday 알고리즘 python 구현

973 단어
대상 문자열 s, 일치 문자열 p, p 가 s 에 일치 하 는 위 치 를 찾 습 니 다: A B C D E F G H I J K i p: G H I j i = 0, j = 0 시, if s [0]! =p [0], i 이동 len (p) 의 길 이 는 s [len (p)] 과 p (j) 의 모든 요소 가 같 는 지 검사 합 니 다. i 가 같은 위치 로 이동 하면 다른 것 을 검사 합 니 다. i 이동 len (p) + 1 의 위치 가 p (j) 와 일치 하기 시작 하면 문자열 의 위 치 를 순서대로 순환 하여 찾 습 니 다.
class MySunday(object):
    def __init__(self,s,p):
        self.s=s
        self.p=p
        self.s_len=len(s)
        self.p_len=len(p)
    def sundayAlgorithm(self):
        i=0
        s_header = 0
        s_tail = self.p_len
        while i<=self.s_len:
            if self.p[i]==self.s[i+s_header]:
                i=i+1
                if i==self.p_len:
                    return s_header       
            else:
                s_header=s_tail-self.compareP(self.s[s_tail]);
                s_tail=s_header + self.p_len
    def compareP(self,m):
        i=0
        while i

좋은 웹페이지 즐겨찾기