首页 > 编程语言 >代码随想录算法训练营第九天 | Javascript | 力扣Leetcode | 手撕KMP的一天 | 28. 找出字符串中第一个匹配项的下标、459. 重复的子字符串

代码随想录算法训练营第九天 | Javascript | 力扣Leetcode | 手撕KMP的一天 | 28. 找出字符串中第一个匹配项的下标、459. 重复的子字符串

时间:2024-09-08 15:23:55浏览次数:10  
标签:第九天 下标 459 随想录 28 KMP 字符串 链接

目录

前言

简介

题目链接:28. 找出字符串中第一个匹配项的下标

题目链接:459. 重复的子字符串


前言

踏平坎坷成大道,斗罢艰险又出发!

自律的尽头是自控,自控的尽头是硬控

愿道友们披荆斩棘,终能得偿所愿。

简介

本人是小几年经验的前端开发,算法基础只有力扣几十道题,非常薄弱。

今天是个人的代码随想录算法硬控自己第九天,冲!

今天目标不多,一刷KMP。

题目链接:28. 找出字符串中第一个匹配项的下标

这是这么多天以来花最多时间解决的一道题,还是一道简单题。。。KMP名不虚传。

注意我使用的方法是next前缀表不减一也不右移的办法。

附上代码:

题目链接:459. 重复的子字符串
  • 第一种解法:移动匹配,基本思路就是把子串拼接并且掐头去尾之后,看这个新子串还有没有包含原来的子串。
  • 第二种解法:KMP,getNext函数解释请看本篇上题哈,整体解法如下:

标签:第九天,下标,459,随想录,28,KMP,字符串,链接
From: https://blog.csdn.net/RayLobeCode/article/details/142024662

相关文章

  • Python入门教程-Python 中的字符串及常用操作有哪些
    字符串是编程语言中最常见和最基础的数据类型之一。在Python中,字符串(string)是用于表示文本数据的序列。无论是处理用户输入、文件读写,还是处理网络数据,字符串都是编程中的关键工具之一。Python提供了许多方便的操作和方法来处理字符串数据。本文将带你从基础入门,详细介绍......
  • 深入掌握Go语言中的正则表达式与字符串处理
    Go语言中的正则表达式与模式匹配在编程中,字符串处理是常见的需求之一,而正则表达式则是一个强大的工具,能够帮助我们实现复杂的字符串匹配、提取和替换功能。Go语言内置了对正则表达式的支持,通过regexp包,我们可以轻松实现模式匹配的各种操作。本文将详细介绍正则表达式在Go语......
  • 十一、C语言:字符串函数
    目录一、strlen二、strcpy三、strcat 四、strcmp五、strstr六、strtok七、strerror一、strlen注意:strlen()函数的返回值是size_t,两个size_t相减仍为无符号数intmain(){ chararr[10]="abc"; charbrr[10]="abc123"; if(strlen(arr)-strlen(brr)>0)......
  • 【代码随想录Day10】栈与队列Part01
    232.用栈实现队列题目链接/文章讲解/视频讲解:用栈实现队列classMyQueue{Stack<Integer>stackIn;Stack<Integer>stackOut;publicMyQueue(){stackIn=newStack<>();stackOut=newStack<>();}publicvoidpush(int......
  • 【代码随想录Day9】字符串Part02
    151.翻转字符串里的单词解题思路如下:移除多余空格将整个字符串反转将每个单词反转举个例子,源字符串为:"theskyisblue"移除多余空格:"theskyisblue"字符串反转:"eulbsiykseht"单词反转:"blueisskythe"题目链接/文章讲解/视频讲解:代码随想录publicclassS......
  • java 一个对象list 通过获取最大版本的 name值,版本为字符串格式 1 1.1 2 2.1 3
    你可以使用Java的流(Streams)功能来获取具有最大版本的name值。假设你的对象类名为Item,并且包含name和version字段,可以按照以下方式操作:importjava.util.*;importjava.util.stream.*;classItem{Stringname;Stringversion;//Constructor,getters,......
  • P4094 字符串
    P4094字符串简化题意给定字符串\(s\),每次询问给定两个字符串\([a,b]\)和\([c,d]\),求前串的所有子串和后串的最长公共前缀。\(n\le10^5,m\le10^5\)题解感觉其实这道题并不是特别难的,就是代码长,不折不扣的码农题。刚开始有一个错误的想法,就是主席树......
  • 代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II
    代码随想录刷题day25丨491.递增子序列,46.全排列,47.全排列II1.题目1.1递增子序列题目链接:491.非递减子序列-力扣(LeetCode)视频讲解:回溯算法精讲,树层去重与树枝去重|LeetCode:491.递增子序列_哔哩哔哩_bilibili文档讲解:https://programmercarl.com/0491.%E9%80......
  • 美团面试题:生成字符串的不同方式
    美团面试题:生成字符串的不同方式引言问题分析动态规划思路伪代码C代码实现代码解析复杂度分析优化建议结论引言小红拿到了一个空字符串sss,她希望通过两种操作生成一个给定的字符串ttt。我们需要计算生成字符串......
  • json字符串转义格式化后再转换处理demo StringEscapeUtils.unescapeJava
    json字符串转义格式化后再转换处理demoStringEscapeUtils.unescapeJava报错关键字:illegalidentifierExpectedBEGIN_OBJECTbutExpectednameatpackagecom.example.core.mydemo;importcom.alibaba.fastjson.JSON;importcom.fasterxml.jackson.core.JsonProcessingE......