python BM
来源:互联网 发布:1080a最新x站免费域名 编辑:程序博客网 时间:2024/06/06 05:58
s = 'HERE IS A SIMPLE EXAMPLE'p = 'EXAMPLE'#s = 'qazwsxetgbdcrfvtgbatgb'#p = 'tgbatgb'd2 = 0def bm(s, p): global d2 n = len(s) m = len(p) # print(n, m) j = int(m) - 1 i = int(m) - 1 while j < n and i > 0: if s[j] == p[i]: # print(s) # print(' ' * (j - i) + p + "1") j -= 1 i -= 1 elif s[j] in p: # print(j) # print(i) # print(s) # print(' ' * (j - i) + p + "2") j3 = j + i - p.rindex(s[j]) # print('--j3--' + str(j3)) i = int(m) - 1 j1 = 0 if i != m - 1: if p[:i].index(p[i+1:]): d1 = p.index(p[i+1:]) j1 = j + i - d1 else: for t in range(1, m-i): if p[:t] in p[m-t:]: d2 = t j1 = j + m - 1 - d2 # print("j1--"+ str(j1)) if j1: if j3 > j1: j = j3 else: j = j3 else: j = j + i + 1 # print('--3--' + str(j)) if i == 0: print(j) else: print("NONE")bm(s, p)
0 0
- python BM
- BM
- BM
- BM
- bm
- 字符串匹配算法(KMP、BM和Sunday),及Python实现
- 字符串匹配算法(KMP、BM和Sunday),及Python实现
- BM算法
- BM算法
- BM算法
- BM算法
- BM算法
- BM算法
- BM算法
- BM算法
- BM算法
- BM algorithm
- BM算法
- 设计模式-11 迭代器模式
- java(六)字符串与equals
- 百度面经(实习)
- 微信端发消息时而成功时而失败并提示:该公众账号暂时无法提供服务,请稍后再试
- ACTION_CALL和ACTION_DIAL的区别
- python BM
- 17-hive表格式
- Eclipse插件svn和TortoiseSvn版本对应关系
- input 实时监控值得变化
- java中HashMap详解
- [已解决] 无法加载libunity.so库
- 个人软件知识体系构建概论——目录
- Unity3D手游开发实践
- android 时间轴实现