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

LeetCode459 重复的子字符串

前言

题目: 459. 重复的子字符串
文档: 代码随想录——重复的子字符串
编程语言: C++
解题状态: 没思路…

思路

第一种思路就是,当一个字符串由重复子字符串构成时,将相同的这两个字符串拼在一起时,内部也会出现相同的字符串。

第二种思路就是KMP算法。

代码

方法一:拼接法

class Solution {
public:bool repeatedSubstringPattern(string s) {string t = s + s;t.erase(t.begin());t.erase(t.end() - 1);if (t.find(s) != std::string::npos) return true;return false;}
};
  • 时间复杂度: O ( n ) O(n) O(n)
  • 空间复杂度: O ( 1 ) O(1) O(1)

方法二:KMP算法

class Solution {
public:void getNext(int* next, const string& s) {next[0] = -1;int j = -1;for (int i = 1; i < s.size(); i++) {while (j >= 0 && s[i] != s[j + 1]) {j = next[j];}if (s[i] == s[j + 1]) {j++;}next[i] = j;}}bool repeatedSubstringPattern(string s) {if (s.size() == 0) {return false;}int next[s.size()];getNext(next, s);int len = s.size();if (next[len - 1] != -1 && len % (len - (next[len - 1] + 1)) == 0) return true;return false;}
};
  • 时间复杂度: O ( n ) O(n) O(n)
  • 空间复杂度: O ( n ) O(n) O(n)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 按xls标签替换docx及xls内容
  • docker-compose笔记
  • Scrapy入门篇
  • 小米账号移除工具箱 | 移除MXTGT工具箱
  • IO流学习总结
  • 定时任务-xxl-job
  • Rabbitmq的死信队列与如何利用死信队列实现延迟队列
  • gitlab-runner /var/run/docker.sock connect permission denied
  • 【Wiki: 使用 netsh wlan show networks mode=bssid | findstr /R /C:“信号“ /C:“频道“ 命令】
  • 基于Python的Bilibili视频信息分析与可视化
  • unfinish ctf 网鼎杯二次注入 无列名注入join-using
  • 无心剑七律《悼李政道先生》
  • 【方法】如何给7Z压缩包添加密码?
  • 大型语言模型入门
  • Linux中Samba服务配置和管理
  • 【译】理解JavaScript:new 关键字
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • angular2 简述
  • CSS相对定位
  • JavaWeb(学习笔记二)
  • java中具有继承关系的类及其对象初始化顺序
  • Joomla 2.x, 3.x useful code cheatsheet
  • mongodb--安装和初步使用教程
  • MYSQL 的 IF 函数
  • Quartz初级教程
  • TCP拥塞控制
  • webpack入门学习手记(二)
  • 阿里研究院入选中国企业智库系统影响力榜
  • 闭包--闭包作用之保存(一)
  • 高度不固定时垂直居中
  • 开源地图数据可视化库——mapnik
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前端面试总结(at, md)
  • 如何进阶一名有竞争力的程序员?
  • 使用权重正则化较少模型过拟合
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 一文看透浏览器架构
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 【云吞铺子】性能抖动剖析(二)
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ​马来语翻译中文去哪比较好?
  • ​如何防止网络攻击?
  • # 飞书APP集成平台-数字化落地
  • #Lua:Lua调用C++生成的DLL库
  • #前后端分离# 头条发布系统
  • (0)Nginx 功能特性
  • (3) cmake编译多个cpp文件
  • (bean配置类的注解开发)学习Spring的第十三天
  • (pojstep1.1.2)2654(直叙式模拟)
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (ZT)一个美国文科博士的YardLife
  • (读书笔记)Javascript高级程序设计---ECMAScript基础