子串次数——类似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)

大家都在看

  • 阿里云ecs自定义镜像并导出到OSS、并下载

    OSS是什么? 有个文章说得比较浅显清楚:什么是OSS?5分钟带你了解! – 知乎 (zhihu.com) 这里摘选核心内容: 白话文解释就是将系统所要用的文件上传到云…

    Java 2023年6月9日
    0104
  • 2018年最新JAVA面试题总结之JavaWeb(2)

    转自于:https://zhuanlan.zhihu.com/p/39522575 1、tomcat的优化方式?回答:Tomcat的优化我准备从三方面来说: 第一部分: 内存优化T…

    Java 2023年6月13日
    079
  • 面向对象ooDay3

    在派生类的构造方法中若没有调用超类的构造方法,则默认super()调用超类的无参构造方法 public class SuperDemo { public static void m…

    Java 2023年6月13日
    055
  • Spring-Cloud-Gateway 从升级到放弃

    Built on Spring Framework 5, Project Reactor and Spring Boot 2.0 Able to match routes on a…

    Java 2023年5月30日
    068
  • 使用SLF4J和LOGBACK (二 :核心组件 )

    在正式使用和配置logback之前,先来了解一下logback中的三个核心组件,日后的使用,我们配置的也是这三类核心组件。所以有必要先对它们有个基础了解。 Logger Logge…

    Java 2023年6月16日
    090
  • 【spring源码学习】spring的事务管理源码学习

    一、抽象概念 1、事务管理器 接口:org.springframework.transaction.PlatformTransactionManager 实现类:org.sprin…

    Java 2023年5月29日
    071
  • JDK成长记20: ReenranctLock(3)释放锁的AQS底层原理

    前两节你应该掌握了ReentrantLock加锁成功和加锁失败入队的核心逻辑,是如何通过AQS中的3个组件做到的。今天来我们看下: ReentrantLock中,当线程释放锁时的逻…

    Java 2023年6月5日
    082
  • 软件工程 软件测试 第6篇随笔

    5、软件测试 1.软件测试的目的: 测试是一个为了发现错误而执行程序的过程 一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试用例 一个成功的测试是指揭示了迄今为止尚未发现…

    Java 2023年6月16日
    065
  • 秒杀系统设计

    秒杀活动是指网络商家为促销等目的组织会网上限时抢购活动,这种活动具有瞬时并发量大、库存量少和业务逻辑简单等特点。设计一个秒杀系统需要考虑的因素很多,比如对现有业务的影响、网络带宽消…

    Java 2023年6月8日
    076
  • SpringBoot整合Redis和SpringBoot(SpringCache)整合Redis

    参考博客: https://blog.csdn.net/lingerlan510/article/details/121906813 https://blog.csdn.net/u…

    Java 2023年6月6日
    067
  • 熊大同学的面试回忆录(2.5年开发经验)

    今天去看牙医,他问我年级轻轻牙齿怎么磨损这么严重?我说,没有点赞的这些年,我都是咬着牙过来的。 以下为读者面试后的分享,部分回答笔者做了一些补充整理,希望对你有帮助。(两年左右开发…

    Java 2023年5月29日
    068
  • 2020-为什么换了工作

    摘要 经历了一个特殊的2020上半年,疫情出乎意料的持续了半年之久,还是没有看到结束的趋势。虽然外部环境很恶劣,还是做出了个人的重大选择,换工作。期间纠结了很久,毕竟工作就是生活,…

    Java 2023年6月8日
    090
  • java中synchronized关键字

    synchronized是java中的一个关键字,在中文中为同步,也被称之为’同步锁’,以此来达到多线程并发访问时候的并发安全问题,可以用来修饰代码块、非静…

    Java 2023年6月8日
    084
  • 【力扣】1310. 子数组异或查询

    有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值…

    Java 2023年6月8日
    072
  • 代码审查:从 ArrayList 说线程安全

    本文从代码审查过程中发现的一个 ArrayList 相关的「线程安全」问题出发,来剖析和理解线程安全。 案例分析 前两天在代码 Review 的过程中,看到有小伙伴用了类似以下的写…

    Java 2023年6月5日
    0106
  • Java笔记——Java8特性之Lambda、方法引用和Streams

    转自: https://www.cnblogs.com/Fndroid/p/6087380.html Java8已经推出了好一段时间了,而掌握Java8的新特性也是必要的,如果要进…

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