文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给定字符串 S,找出最长重复子串长度。如果不存在重复子串就返回 0。

示例 1:
输入:"abcd"
输出:0
解释:没有重复子串。示例 2:
输入:"abbaba"
输出:2
解释:最长的重复子串为 "ab" 和 "ba",每个出现 2 次。示例 3:
输入:"aabcaabdaab"
输出:3
解释:最长的重复子串为 "aab",出现 3 次。示例 4:
输入:"aaaaa"
输出:4
解释:最长的重复子串为 "aaaa",出现 2 次。提示:
字符串 S 仅包含从 'a' 到 'z' 的小写英文字母。
1 <= S.length <= 1500

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-repeating-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

类似题目:
LeetCode 875. 爱吃香蕉的珂珂(二分查找)
LeetCode LCP 12. 小张刷题计划(二分查找)
LeetCode 1011. 在 D 天内送达包裹的能力(二分查找)
LeetCode 5438. 制作 m 束花所需的最少天数(二分查找)

  • 直接二分查找重复子串的长度,检查是否存在重复子串
class Solution {public:int longestRepeatingSubstring(string S) {int l = 0, r = S.size()-1, len, maxlen;while(l <= r){len = l+((r-l)>>1);if(haveRepeat(S, len))maxlen = len, l = len+1;elser = len-1;}return maxlen;}bool haveRepeat(string& S, int len){unordered_set<string> set;string sub;for(int i = 0; i <= S.size()-len; i++){sub = S.substr(i, len);if(!set.count(sub))set.insert(sub);elsereturn true;//有重复的子串}return false;}
};

44 ms 19.3 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1062. 最长重复子串(二分查找)相关推荐

  1. [转载] 字符串最长重复子串python_查找字符串中重复字符的最长子字符串

    参考链接: Python字符串| digits 我尽量不在codeforces问题上寻求帮助,除非我真的,真的,卡住了,现在正好是.在Your first mission is to find the ...

  2. 最长重复子串(Rabin-Karp算法)

    目录 最长重复子串 C++代码 最长重复子串 1044. 最长重复子串 给出一个字符串 S,考虑其所有重复子串(S 的连续子串,出现两次或多次,可能会有重叠). 返回任何具有最长可能长度的重复子串.( ...

  3. 后缀数组求最长重复子串

    问题描述 给定一个字符串,求出其最长重复子串 例如:abcdabcd 最长重复子串是 abcd,最长重复子串可以重叠 例如:abcdabcda,这时最长重复子串是 abcda,中间的 a 是被重叠的. ...

  4. #1407 : 后缀数组二·重复旋律2 (不可重叠最长重复子串问题)

    题目链接 思路 求不可重叠最长重复子串,也可以利用height[i]height[i]height[i]. 二分枚举答案KKK 当height[i]≥Kheight[i] \ge Kheight[i] ...

  5. 最长重复子串和最长不重复子串求解

    最长重复子串和最长不重复子串求解 本文内容框架: §1 最长重复子串 基本方法.KMP算法求解.后缀数组求解 §2 最长不重复子串 基本方法.动态规划.动态规划+Hash §3 小结 §1最长重复子串 ...

  6. POJ1743——不可重迭的最长重复子串

    题意:给定一系列的整数作为音阶,旋律为相邻音阶之差.问最长的主旋律是多长,主旋律需满足3个条件: 1. 长度至少为5: 2. 至少重复出现2次: 3. 主旋律各不重迭. 对源进行变换以后,就是问不重迭 ...

  7. DS串应用—最长重复子串

    题目描述 求串的最长重复子串长度(子串不重叠).例如:abcaefabcabc的最长重复子串是串abca,长度为4. 输入 求串的最长重复子串长度(子串不重叠).例如:abcaefabcabc的最长重 ...

  8. 后缀数组--(可重叠最长重复子串问题)

    问题描述:给定一个字符串,求最长重复子串,这两个子串可以重叠. 其实问题可以转化为height数组的最大值.至于为什么是这样,我可以这样解释: 求可重叠最长重复子串等价于求两个后缀的最长公共前缀的最大 ...

  9. 牛客题霸 [最长重复子串] C++题解/答案

    牛客题霸 [最长重复子串] C++题解/答案 题目描述 一个重复字符串是由两个相同的字符串首尾拼接而成,例如abcabc便是长度为6的一个重复字符串,而abcba则不存在重复字符串. 给定一个字符串, ...

最新文章

  1. 关于对js属性的测试
  2. 设置 myeclipse 编码格式
  3. 机器学习入门学习笔记:(4.1)SVM算法
  4. android仿微信图片上传进度,android高仿微信发布动态(选择图片)
  5. Teams Bot的ServiceLevel测试
  6. LeetCode 998. 最大二叉树 II
  7. POJ - 2069 Super Star HDU - 3007 Buried memory
  8. java fx 的演进版本_新增非空约束字段在不同版本中的演进
  9. 【Excel高效工作1】5分钟,从Excel中批量将联系人信息导入手机电话簿
  10. 英特尔推出物联网零售平台 RRP,并将在零售业投资 1 亿美元
  11. Win7下IIS安装PHP环境
  12. Qgis教程3:数据美化
  13. python 登陆网站图片验证,用python登录带弱图片验证码的网站
  14. 有哪些可以提高网站排名的更有效的SEO优化方法?
  15. ip iq 谐波检测matlab仿真,基于Matlab的低压电力系统谐波检测方法仿真研究
  16. 16.数据统计之数据分组方法
  17. 【Lqb T336】Cowboys
  18. 你应该要懂的宇宙真相——《给忙碌者的天体物理学 》下篇
  19. 超分重建数据集 DIV2K Flickr2K 下载地址【有效分享】
  20. Vulnhub靶场渗透测试系列DC-7(跳出框框打开脑洞 drush更改drupal的admin账户密码)

热门文章

  1. 关于国内厂商的国际版杀毒软件
  2. 从static变量导出问题解析 __declspec(dllexport) 和 __declspec(dllimport)的作用
  3. continue break
  4. Linux Deepin 版本大全,Deepin下载-Deepin linuxv20.0 官方版下载-6188手游网
  5. 第一季8:mpp的部署、sample的编译和测试、完整版根文件(包含mpp)制作
  6. PHP建站环境搭建:汇总网上常见的1键安装包
  7. 假期第一次编程总结(改二)
  8. redis -- 学习
  9. zipline-benchmarks.py文件改写
  10. YAML/Properties配置文件与Spring Boot(转)