当前位置: 首页 > news >正文

网站建设哈尔滨网站设计3百度网盘app免费下载安装老版本

网站建设哈尔滨网站设计3,百度网盘app免费下载安装老版本,学做网站要学什么语言,ghost卸载wordpress☀️ 什么是BF算法 BF算法,即暴力算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个与模式串T的第一个字符串进行匹配,若相等,则继续比较S的第二个字符和T的第二个字符;若不相等,则…

☀️ 什么是BF算法

BF算法,即暴力算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个与模式串T的第一个字符串进行匹配,若相等,则继续比较S的第二个字符和T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果,BF算法是一种蛮力算法

❄️题目:

给出字符串str作为主串,然后给出子串sub,查找子串是否在主串中出现,若出现返回主串中的第一个匹配的下标,否则返回-1。

⛄️图解演示:

假设:
主串:a b a b c a b c d a b c d e
子串:a b c d
给定i,j 记录字符串下标
在这里插入图片描述

🌏算法思想:

主串的第一个字符和子串的第一个字符进行匹配,若相等,继续匹配主串的第二个字符和子串的第二个字符,即i++,j++;若不想等,主串回溯到第一个字符的下一个字符,子串回溯到0,即i = i - j + 1,j = 0;依次进行,直到匹配成功,返回i - j ;若失败,返回==-1==;
在这里插入图片描述

🌼算法代码:

public class BF {public static int bF(String str,String sub) {if(str==null || sub == null) {return -1;}int lenStr = str.length();int lenSub = sub.length();if(lenSub == 0 || lenStr == 0) {return -1;}int i = 0;int j = 0;while(i<lenStr && j<lenSub) {if (str.charAt(i) == sub.charAt(j)){i++;j++;}else{i = i-j+1;j = 0;}}if(j>=lenSub){return i-j;}else{return -1;}}public static void main(String[] args) {System.out.println(bF("ababcabcdabcde","abcd"));System.out.println(bF("ababcabcdabcde","abcdf"));System.out.println(bF("ababcabcdabcde","abcde"));}
}

运行结果

5
-1
9

http://www.yidumall.com/news/95490.html

相关文章:

  • 北京做网站企业湖北网络推广seo
  • 网站建设用到的技术seo分析seo诊断
  • wordpress+主题课堂windows系统优化软件
  • 哪里有手机网站制作公司免费网络推广公司
  • 闵行区做网站高州新闻 头条 今天
  • 网站建设自建服务器舆情网站
  • 沈阳网站制作教学专业seo服务商
  • 江苏苏州网站建设互联网营销策划方案
  • 网站设计毕业设计推广app赚佣金接单平台
  • 网站添加二维码关键词优化排名首页
  • 淘宝客网站 备案百度移动端关键词优化
  • wordpress新闻动态插件seo怎么优化网站排名
  • 大型网站改版百度一下官网入口
  • 灯饰网站源码推广网站排名优化seo教程
  • 家里电脑做网站如何创建网页链接
  • 网站公司设计视频推广平台
  • 我国网站建设的不足百度竞价排名公式
  • 网站接电话高粱seo博客
  • 转行学python后悔了优化排名 生客seo
  • 东莞做阀门的网站网站开发流程
  • 摄影网站建设方案电商运营
  • 网站查icp备案查询系统做关键词排名好的公司
  • 龙岗网站建设哪家好优化关键词的公司
  • 手机网站开发ios优化大师最新版本
  • wordpress 嵌套软件seo案例分析方案
  • 做网站主要用什么软件seo01
  • 西安营销型网站建设网络推广预算方案
  • 网页给别人做的 网站后续收费吗英雄联盟韩国
  • 南宁霸屏网站开发综合型b2b电子商务平台网站
  • 四大央企是哪四大企业广州seo网站服务公司