【LeetCode-简单题KMP】459. 重复的子字符串
文章目录
- 题目
- 方法一:移动匹配
- 方法二:KMP算法
题目

方法一:移动匹配

class Solution {//移动匹配public boolean repeatedSubstringPattern(String s) {StringBuffer str = new StringBuffer(s);//ababstr.append(s);//拼接一份自己 ababababstr.delete(0,1);// babababstr.delete(str.length()-1,str.length());//bababa//删除第一个字符和最后一个字符,不然在str里面匹配s时 直接就能从开头匹配就没有意义了//我们要的就是拼接起来的部分 也能匹配到原来的sif(str.toString().contains(s)) return true; // str: bababa s: ababreturn false;}
}
方法二:KMP算法
关键代码
参考视频讲解字符串这么玩,可有点难度! | LeetCode:459.重复的子字符串
参考题解:459.重复的子字符串—KMP解法

// 最后判断是否是重复的子字符串,这里 next[len-1] 即代表next数组末尾的值if (next[len - 1] != 0 && len % (len - (next[len - 1])) == 0) {return true;}return false;
class Solution {//KMP算法public boolean repeatedSubstringPattern(String s) {if (s.length() == 0) return false;int[] next = getNext(s);int len = s.length();// 最后判断是否是重复的子字符串,这里 next[len-1] 即代表next数组末尾的值if (next[len - 1] != 0 && len % (len - (next[len - 1])) == 0) {return true;}return false;}public int[] getNext(String s){int[] next = new int[s.length()];int j = 0;next[0]=j;for(int i = 1 ; i<next.length;i++){while(j> 0 && s.charAt(i) !=s.charAt(j)){j = next[j-1];}if(s.charAt(i) ==s.charAt(j)) j++;next[i] = j;}return next;}
}
相关文章:
【LeetCode-简单题KMP】459. 重复的子字符串
文章目录 题目方法一:移动匹配方法二:KMP算法 题目 方法一:移动匹配 class Solution {//移动匹配public boolean repeatedSubstringPattern(String s) {StringBuffer str new StringBuffer(s);//ababstr.append(s);//拼接一份自己 abababab…...
Lua脚本
基本语法 注释 print(“script lua win”) – 单行注释 – [[ 多行注释 ]] – 标识符 类似于:java当中 变量、属性名、方法名。 以字母(a-z,A-Z)、下划线 开头,后面加上0个或多个 字母、下划线、数字。 不要用下划线大写字母…...
vue 封装一个Dialog组件
基于element-plus封装一个Dialog组件 <template><section class"dialog-wrap"><el-dialog :title"title" v-model"visible" :close-on-click-modal"false"><section class"content-wrap"><Form…...
外包干了2个月,技术退步明显。。。。。
先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...
python科研作图
1、气泡图 气泡图是一种在xy轴上显示三个维度的数据的有效方式。在气泡图中,基本上,每个气泡代表一个数据点。横坐标和纵坐标的位置代表两个维度,气泡的大小则代表第三个维度。 在这个例子中,我们用numpy库生成了一些随机数据&a…...
视锥体裁剪射线的算法
射线Ray(直线情况)需要满足的条件: 在视野中显示的粗细均匀,需要分段绘制,每段的粗细根据到视野的距离计算射线model的顶点尽量少以节省性能损耗要满足条件2的话需要对射线进行裁剪,只绘制射线在视锥体内的部分,因此需要计算射线被视锥体裁剪后新的起点和终点 1. 计算三角…...
程序员在线周刊(投稿篇)
嗨,大家好!作为一名程序员,并且是一名互联网文章作者,我非常激动地向大家宣布,我们计划推出一份在线周刊,专门为程序员们提供有趣、实用的文章和资讯。而现在,我们正在征集投稿! 是…...
uniapp——实现聊天室功能——技能提升
这里写目录标题 效果图聊天室功能代码——html部分代码——js部分代码——其他部分 首先声明一点:下面的内容是从一个uniapp的程序中摘录的,并非本人所写,先做记录,以免后续遇到相似需求抓耳挠腮。 效果图 聊天室功能 发送图片 …...
脚本:用python实现五子棋
文章目录 1. 语言2. 效果3. 脚本4. 解读5. FutureReference 1. 语言 Python 无环境配置、无库安装。 2. 效果 以第一回合为例 玩家X 玩家0 3. 脚本 class GomokuGame:def __init__(self, board_size15):self.board_size board_sizeself.board [[ for _ in range(board_…...
Java-华为真题-预定酒店
需求: 放暑假了,小王决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店(n>k>0)ÿ…...
win10 自带虚拟机软件 虚拟CentOS系统
win10 下使用需要虚拟一个系统,不需要额外安装VMware、Virtual box等软件。使用win10 自带虚拟机软件即可 步骤1 确保启动Hyper-V 功能启用 控制面板 -> 程序 -> 启用或关闭Windows功能 步骤 2 创建虚拟机 2.1 打开Typer-V 2.2 创建虚拟机 2.2.1 操作 -&g…...
【深度学习】 Python 和 NumPy 系列教程(十):NumPy详解:2、数组操作(索引和切片、形状操作、转置操作、拼接操作)
目录 一、前言 二、实验环境 三、NumPy 0、多维数组对象(ndarray) 1. 多维数组的属性 1、创建数组 2、数组操作 1. 索引和切片 a. 索引 b. 切片 2. 形状操作 a. 获取数组形状 b. 改变数组形状 c. 展平数组 3. 转置操作 a. 使用.T属性 b…...
3D视觉测量:复现Gocator的间隙面差
文章目录 0. 测试效果1. Gocator实现基本内容1.1 实现步骤1.2 参数说明 2. 未作 or TODO3. 开发说明 目标:使用C PCL复现Gocator中的间隙面差前置说明:因为没有拿到Gocator中用到的原始数据,仅是拿到与之类似的数据,因此最后测试的…...
文献综述怎么写?(以利用Zotero的文献管理软件为例)
文章目录 文章内容总结前言一. 利用文献管理软件建立文献库1. 创建文献分类2. 在论文库中搜索关键词并导入到文献管理软件中以web of science 为例以 IEEE Xplore为例 二、 导出文献、阅读摘要并记录关键字三、寻找一两篇本方向的文献综述,分析借鉴其文章结构四、写…...
中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Python文件存读取
Python文件存读取 想整理一下存读取函数,方便以后直接调用。 读取 1、读xls、csv、xlsx到dataframe 这段代码非常好用,这个函数直接把各种格式文件给汇总了 def readDataFile(readPath): # readPath: 数据文件的地址和文件名try:if (readPath[-4:]…...
SpringBoot整合Easy-ES实现对ES操作
请确保已有可用的ES,若没有,请移步:Docker安装部署ElasticSearch(ES) 新建SpringBoot项目 这里是用的springboot版本是2.6.0 引入依赖 <!-- 排除springboot中内置的es依赖,以防和easy-es中的依赖冲突--><…...
让NPU跑起来迅为RK3588开发板设置交叉编译器
让NPU跑起来迅为RK3588开发板设置交叉编译器 编译器下载地址是网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \12_NPU 使用配套资料\03_编译所需工具\Linux”。 拷贝 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz 到 Ubuntu 的/opt/tool_ch…...
yyyy-MM-dd‘T‘HH:mm:ssZ的T是什么意思?为什么要用单引号引着
背景 Java里的日期格式,通常我们看到 yyyy-MM-ddTHH:mm:ssZ 的写法是什么意思? 尤其这个T作为分隔符为什么左右有单引号,这个单引号会打印出来吗? 这个Z又是什么意思?是时区吗?如果是时区,输…...
SIT1145AQ收发器芯片CAN FD Passive功能详解(摘自官网)
芯力特在SIT1145AQ/FD版本中加入了CAN FD Passive功能,CAN FD Passive功能简单来说就是SIT1145AQ/FD在休眠或待机模式下屏蔽总线上的CAN FD报文。 为什么需要CAN FD Passive功能呢? SIT1145AQ的特定帧唤醒只支持CAN报文,当SIT1145AQ休眠模式…...
终极开源硬件控制方案:5分钟实现OMEN游戏本深度性能调优
终极开源硬件控制方案:5分钟实现OMEN游戏本深度性能调优 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普OMEN游戏本…...
ECA:编辑器无关的AI编程伴侣,统一配置多模型与编辑器
1. 项目概述:一个编辑器无关的AI编程伴侣如果你和我一样,每天大部分时间都泡在编辑器里,那你肯定也经历过这种场景:面对一段复杂的业务逻辑,或者一个陌生的API,你希望有个“懂行”的伙伴能立刻给你解释、重…...
2026绍兴本地GEO优化公司实测:服务规范与效果验证全解析
引言随着AI搜索算法的不断迭代,绍兴本地企业对GEO(生成式引擎优化)服务的需求日益增长。为了帮助这些企业在选择GEO优化服务商时做出明智决策,本测评以客观、中立的态度,基于EEAT原则(经验、专业性、权威性…...
ComfyUI-WanVideoWrapper:一站式AI视频生成插件解决方案
ComfyUI-WanVideoWrapper:一站式AI视频生成插件解决方案 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper ComfyUI-WanVideoWrapper是一个专为ComfyUI设计的视频生成插件包装器&#x…...
Arm编译器在嵌入式开发中的优化实践
1. Arm编译器嵌入式开发环境概述在嵌入式系统开发领域,工具链的选择往往决定了最终产品的性能上限。作为Arm架构的"原生"编译器,Arm Compiler for Embedded凭借其深度优化的代码生成能力,在物联网设备、工业控制器等资源受限场景中…...
这家头部智能家居品牌是如何让全渠道电商闭环运营落地?
在电商渠道愈发多元的当下,让很多企业陷入 “数据多却用不好” 的困境。这不是个别现象,而是绝大多数全渠道电商企业正在经历的“成长烦恼”。今天,我们用一个真实案例,带您看看如何用一套系统,彻底告别这些噩梦。这家…...
【Oracle数据库指南】第06篇:Oracle DML语句与事务控制——数据操作与ACID特性深度解析
上一篇【第05篇】Oracle子查询与集合操作——嵌套查询与结果合并全解析 下一篇【第07篇】SQL*Plus基础——登录、环境设置与缓冲区操作 摘要 本文全面讲解Oracle DML(数据操作语言)语句,包括INSERT、UPDATE、DELETE和MERGE的详细用法&#x…...
macOS桌面歌词终极解决方案:LyricsX 2.0完整指南
macOS桌面歌词终极解决方案:LyricsX 2.0完整指南 【免费下载链接】Lyrics Swift-based iTunes plug-in to display lyrics on the desktop. 项目地址: https://gitcode.com/gh_mirrors/lyr/Lyrics 你是否曾经在听音乐时,想要跟着歌词一起唱却发现…...
【JVM】面试题-有哪些垃圾回收器
【JVM】面试题-有哪些垃圾回收器 在JVM的内存管理中,垃圾收集算法是内存回收的核心逻辑与方法论,而垃圾收集器则是将这套方法论落地实现的具体工具。 不同的垃圾收集器针对JVM堆的不同分代(新生代、老年代)设计,具备不…...
BBDown终极指南:5分钟掌握B站视频本地化完整解决方案
BBDown终极指南:5分钟掌握B站视频本地化完整解决方案 【免费下载链接】BBDown Bilibili Downloader. 一个命令行式哔哩哔哩下载器. 项目地址: https://gitcode.com/gh_mirrors/bb/BBDown 在数字内容爆炸的时代,你是否曾为无法离线观看B站优质视频…...
