コード例 #1
0
    def lrs(self, s):
        N = len(s)

        # Form suffix strings
        suffixes = [''] * N
        for i in range(0, N):
            suffixes[i] = s[i:N]

        # Next sort the suffix strings
        sorter = MergeSort()
        sorter.sort_helper(suffixes)

        # Find longest LCP among adjacent entries
        lrs = ''

        for i in range(0, N - 1):
            x = self.lcp(suffixes[i], suffixes[i + 1])

            if len(x) > len(lrs):
                lrs = x

        return lrs
コード例 #2
0
from merge_sort import MergeSort

if __name__ == '__main__':
    # search_tokens = [1, 3, -4, -8, 10]
    search_tokens = [9, 0, 8, 6, 1, 2, 3, 5, 4]
    # search_tokens = ['john', 'anna', 'mark', 'angela', 'james']

    print "ORIGINAL:",
    print search_tokens

    sorter = MergeSort()
    sorter.sort_helper(search_tokens)

    print "SORTED:",
    print search_tokens