字符串匹配
来源:互联网 发布:池州安广网络 编辑:程序博客网 时间:2024/05/29 04:08
BF算法
其思路很简单:从目标字符串初始位置开始,依次分别与模板的各个位置的字符比较,如相同,比较下一个位置的字符直至完全匹配;如果不同则跳到目标字符串下一位置继续如此与模板比较,直至找到匹配字符串并返回其位置。
我们注意到Brute Force 算法是每次移动一个单位,一个一个单位移动显然太慢,设目标串String的长度为m,Pattern的长度为n,不难得出BF算法的时间复杂度最坏为O(mn),效率很低。
/* BF */public class MyString { String s1 = "abcdef"; String s2 = "ef"; public int BF(){ int lenS1 = s1.length() - s2.length(); int lenS2 = s2.length(); for(int i = 0; i <= lenS1; i++){ boolean flag = true; for (int j = 0; j < lenS2; j++){ if(s1.charAt(i+j) != s2.charAt(j)){ flag = false; break; } } if(flag) return i; } return -1; }
阅读全文
0 0
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配...
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 字符串匹配
- 华为手机进入工程模式
- Qt之界面实现技巧
- windows下Python安装pymysql
- Activity的launchMode介绍
- java中子类初始化流程(包括静态区和非静态区)
- 字符串匹配
- IE浏览器缓存问题的解决方法
- Qt Model/View之实现Item自定义显示
- 傅盛认知三部曲之一:所谓成长就是认知升级
- 网络共享问题:让电脑上网的N种方法
- JAVA基础类库——System类和Runtime类
- Python图结构--邻接列表及其类似结构
- rabbitmq 基本操作
- 根据图片自动生成动画