【代码随想录二刷】day9 | 28. 实现 strStr() 459.重复的子字符串
二刷主要记录理解不一样的题
一刷地址:day9
今日题目:中等
KMP:困难 => 第一时间想到了使用KMP,但是不太会,只有用常规方法完成
实现 strStr():拼接完两个字符串s之后,取其头尾中间一定能找到s(可直接调用api完成)
class Solution {public boolean repeatedSubstringPattern(String s) {return (s+s).substring(1,2*s.length()-1).contains(s);}
}
重复的子字符串:双指针,暴力实现O(n^2)
class Solution {public int strStr(String haystack, String needle) {int i = 0;int j = 0;while(i < haystack.length() - needle.length() + 1){int t = i;j=0;while(t < haystack.length() && haystack.charAt(t) == needle.charAt(j)){t++;j++;// System.out.println("j="+j);if(j == needle.length()) return i;}i++; }return -1;}
}
【代码随想录二刷】day9 | 28. 实现 strStr() 459.重复的子字符串相关推荐
- 随想录Day9--28. 实现 strStr() , 459.重复的子字符串
今天的两道题关键在于学习KMP算法.KMP算法运用场景在于一串字符串里面查找是否含有某个子字符串,如"abcdef"里面就含有"cdf"这么个子字符串.先把题目 ...
- 代码随想录day9|实现strStr()、重复的子字符串
实现strStr() 一般的字符串匹配问题我们可以使用KMP算法来处理,当我们搜索文本串和模式串是否匹配的时候,我们先得到模式串的一个前缀表,其中前缀表中存放的内容是模式串的最长相等前后缀.例如文本串 ...
- 代码随想录Day09:28. 实现 strStr()、459.重复的子字符串、字符串总结 、双指针回顾
目录 Day09:28. 实现 strStr().459.重复的子字符串.字符串总结 .双指针回顾 28. 实现 strStr() (一刷只看了思想) 459.重复的子字符串 (本题一刷跳过了) 字符 ...
- 【代码随想录二刷】Day23-二叉树-C++
代码随想录二刷Day23 今日任务 669.修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 语言:C++ 669. 修剪二叉搜索树 链接:https://leet ...
- 【代码随想录二刷】Day21-二叉树-C++
代码随想录二刷Day21 今日任务 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236.二叉树的最近公共祖先 语言:C++ 530. 二叉搜索树的最小绝对差 链接:https://le ...
- 【代码随想录二刷】Day15-二叉树-C++
代码随想录二刷Day15 今日任务 层序遍历 226.翻转二叉树 101.对称二叉树 语言:C++ 层序遍历 102.二叉树的层序遍历 class Solution {public:vector< ...
- 【代码随想录二刷】Day20-二叉树-C++
代码随想录二刷Day20 今日任务 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树 语言:C++ 654. 最大二叉树 链接:https://leetcode ...
- 算法Day8|字符串专题二 剑指 Offer 58 - II. 左旋转字符串,28. 找出字符串中第一个匹配项的下标,459. 重复的子字符串
剑指 Offer 58 - II. 左旋转字符串 解题思路: 反转区间为前n的子串 反转区间为n到末尾的子串 反转整个字符串 class Solution {public String reverse ...
- 402-字符串(题目:剑指Offer58-II.左旋转字符串、 28. 实现 strStr()、459.重复的子字符串)
题目:剑指Offer58-II.左旋转字符串 class Solution {public:string reverseLeftWords(string s, int n) {string s1(s. ...
最新文章
- 【青少年编程(第25周)】隔离终于解除了!
- Numpy Scalars(标量)
- 一.第一周golang学习:--string解析成基本数据类型
- 常用问题排查工具和分析神器,值得收藏
- 表白神器(VBS编程)
- 实现仿微信朋友圈评论输入框
- 关于简单的factorymode
- Ubuntu 20.04 创建桌面快捷方式
- gae代码_GAE中的Java EE
- destoon php版本,Destoon 7.0最新版常见问题解决方法
- 企业邮箱怎么写加密邮件,企业邮箱支持吗?
- 7-1 电话聊天狂人 (25 分)
- 问题与解决_IDEA-> Project Structure -> Artifacts-> ‘项目名‘ module: ‘Web‘ facet resources 显示红色
- ubuntu18.04安装MPV视频播放器
- 客户关系管理项目——用户登录模块设计
- 【概念】同比、环比、定基比
- 处理数据时,对数据取对数的意义
- 计算机网络---网络体系结构分析
- 抽象类含有构造器吗?
- C++有符号和无符号之间的转换
热门文章
- python的默认编码
- ERP一般实施流程/步骤
- 解决win10中笔记本插入网线后无法识别的问题
- 《乘风破浪的姐姐2》开播大热,姐姐们的.fans相关域名速来抢!
- 突触作为神经元的输入
- 响应式网站 @media的用法
- POJ 1509 Glass Beads 后缀自动机
- 三四百左右的蓝牙耳机有什么推荐?三四百左右的蓝牙耳机排行榜
- System.Exception:System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本
- 80端口、8080端口和443端口是什么用的