子串次数——类似KMP

老规矩 先来看问题 字符串a 在A中出现了多少次

求次数 。

当然有很多种算法 最简单的 一个一个找呗 不过这种太麻烦 我们不讲这种

我在写这个算法的时候 用到了KMP算法的部分内容

public static void Getnext(int next[],char[] t)
  {
    int j=0,k=-1;
    next[0]=-1;
    while(j上面这段就借鉴了(有改动) (其余都是原创)当然 这里最难理解的就是这段    相信你如果能很透彻的理解这一段  下面的代码对你就是小儿科。我就不举例说明这段代码的作用了  这段代码是求某段字符串和从总字符串的开头的相识度的  也就是有几个字符是连续重复的。记住  必须是连续着的相同   我们不是要求子串在母串中出现的次数吗   我们这里能求出从开头开始的相识度    那这样理解  如果开头就是我们的子串  那么 是不是就好办了    主要讲解就到这这里  具体方法看代码      提示一下    要考虑到母串开头就是只要两者的有个子串的情况    个人认为这样算会比暴力破解的方法好点当然还可以进行改进   可以在求相识度的过程中就得出次数   有兴趣的可以对代码进行改进或重新编码尝试一下。

代码就在这里

如果哪位发现有什么问题 或不对的地方 烦请予以指正。

Original: https://www.cnblogs.com/cndccm/p/12508659.html
Author: Mr小明同学
Title: 子串次数——类似KMP

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573034/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Go 面向对象简明教程

    如果把 C 变成 C++, 那么 C 就消失了。 在云原生时代,Go 变成了一门受人关注的编程语言。个人觉得,对于 Java 业务开发人员来说,熟悉一门接近系统级别的编程语言,还是…

    Java 2023年6月9日
    098
  • 【Java面试】这应该是面试官最想听到的回答,Mysql如何解决幻读问题?

    “Mysql如何解决幻读问题”一个工作了4年小伙伴,去一个美团面试,遇到了这样一个问题。大家好,我是Mic,一个工作了14年的Java程序员关于这个问题,面…

    Java 2023年6月16日
    092
  • Java中Comparable讲解

    Comparable是排序接口;若一个类实现了Comparable接口,就意味着”该类支持排序”。可以使用Arrays.sort()对改类进行排序。 讲解 …

    Java 2023年5月29日
    078
  • Golang中的闭包

    一、全局变量和局部变量的特点 1.全局变量:定义在全局中,常驻内存,可能会污染全局。 2.局部变量:定义在方法中,不常驻内存,不污染全局。 3.闭包的作用:使变量常驻内存且不污染全…

    Java 2023年6月13日
    088
  • SeataAT模式入门

    Seata架构 Seata将分布式事务理解为一个全局事务,它由若干个分支事务组成,一个分支事务就是一个满足ACID的本地事务。 Seata架构中有三个角色:TC (Transact…

    Java 2023年6月9日
    0223
  • GBase数据库对象相关操作

    create table 表名(列名 数据&am…

    Java 2023年6月9日
    087
  • Idea创建Maven+web项目

    点击File ->project Structure,选择Modules Original: https://www.cnblogs.com/stopyc/p/1649856…

    Java 2023年6月5日
    097
  • Springboot启动后执行方法(4种)

    一、注解@PostConstruct 使用注解@PostConstruct是最常见的一种方式,存在的问题是如果执行的方法耗时过长,会导致项目在方法执行期间无法提供服务。 二、Com…

    Java 2023年5月30日
    071
  • Vue el-date-picker 组件时间格式化方式

    官网地址:https://element.eleme.cn/#/zh-CN/component/date-picker value-format="yyyy-MM-dd&…

    Java 2023年6月13日
    093
  • java 启动脚本

    #!bin/bash source /etc/profile MEM_TOTAL=cat /proc/meminfo | grep 'MemTotal' | a…

    Java 2023年5月29日
    075
  • Tomcat 单机多实例使用记录

    参考资料 CATALINA_HOME 属性 VS CATALINA_BASE 属性 步骤 1. 创建 CATALINA_BASE 使用的目录 2. 拷贝配置文件添加hello应用 …

    Java 2023年6月13日
    090
  • JAVA WEB 中的编码分析

    ServletPath和PathInfo中的中文 QueryString中的中文 public void service(org.apache.coyote.Request req…

    Java 2023年6月7日
    084
  • java函数式编程及Consumer、Supplier、Function、Predicate四大接口

    一、什么是函数式编程? 在维基百科中给出了详细的定义,函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视…

    Java 2023年5月29日
    081
  • 新增一个Redis 从节点为什么与主节点的key数量不一样呢?

    过期键删除策略 (1) 惰性删除 放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。 该策略对 CPU 来说是…

    Java 2023年6月16日
    0131
  • java算法计算一元一次方程

    java算法计算一元一次方程是昨年10月写的了,最近想写写算法就把它整理出来了。 核心思想是将方程转化为:aX+b = cX+d 的形式再进行计算,转化的思想是根据符号的优先级一层…

    Java 2023年5月29日
    084
  • 记一次慢查询优化sql

    分析sql,从哪几方面考虑进行优化 SELECT IFNULL(SUM(total.cityPayMoneySum),0) AS cityPayMoneySum,total.cit…

    Java 2023年6月7日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球