首页 > 编程语言 >代码随想录算法训练营第九天| 复习字符串和双指针法(看卡哥文章复习)

代码随想录算法训练营第九天| 复习字符串和双指针法(看卡哥文章复习)

时间:2023-08-03 22:36:05浏览次数:38  
标签:第九天 复习 E5% 讲解 随想录 E7% 算法 KMP 本题

 KMP算法就是在一个字符串中寻找另一个子串,避免了“跳回下一个字符再重新匹配”,实现了在一次字符串的遍历过程中就可以匹配出子串。

28. 实现 strStr()  (本题可以跳过)

        卡哥建议:因为KMP算法很难,大家别奢求 一次就把kmp全理解了,大家刚学KMP一定会有各种各样的疑问,先留着,别期望立刻啃明白,第一遍了解大概思路,二刷的时候,再看KMP会 好懂很多。或者说大家可以放弃一刷可以不看KMP,今天来回顾一下之前的算法题目就可以。因为大家 算法能力还没到,细扣很难的算法,会把自己绕进去,就算别人给解释,只会激发出更多的问题和疑惑。所以大家先了解大体过程,知道这么回事, 等自己有 算法基础和思维了,在看多看几遍视频,慢慢就理解了。

      题目链接/文章讲解/视频讲解:https://programmercarl.com/0028.%E5%AE%9E%E7%8E%B0strStr.html

 

 459.重复的子字符串  (本题可以跳过)

     卡哥建议:本题算是KMP算法的一个应用,不过 对KMP了解不够熟练的话,理解本题就难很多。 我的建议是 KMP和本题,一刷的时候 ,可以适当放过,了解怎么回事就行,二刷的时候再来硬啃

    题目链接/文章讲解/视频讲解:https://programmercarl.com/0459.%E9%87%8D%E5%A4%8D%E7%9A%84%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2.html

 

字符串总结 

    卡哥建议:比较简单,大家读一遍就行 

    题目链接/文章讲解:https://programmercarl.com/%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%80%BB%E7%BB%93.html

 

 双指针回顾 

     卡哥建议:此时我们已经做过10到双指针的题目了,来一起回顾一下,大家自己也总结一下双指针的心得 

    文章讲解:https://programmercarl.com/%E5%8F%8C%E6%8C%87%E9%92%88%E6%80%BB%E7%BB%93.html

 

标签:第九天,复习,E5%,讲解,随想录,E7%,算法,KMP,本题
From: https://www.cnblogs.com/romantichuaner/p/17604629.html

相关文章

  • [代码随想录]Day07-字符串 part01
    题目:344.反转字符串思路:每次把最前面和最后面的交换位置即可strings库里没有反转的方法——这个反转是之后几个题的一个基础代码:双指针调换位置funcreverseString(s[]byte){l,r:=0,len(s)-1//最前面的元素,最后面的元素forl<r{s[l],s[......
  • 代码随想录算法训练营第四十三天| 583. 两个字符串的删除操作 72. 编辑距离
    583.两个字符串的删除操作要求:删除最少的步数,来让这两个字符串相等思路:求末尾的最长公共子序列的长度,然后减去他们的长度代码:1//要求:两个字符串,删除任意一个字符后,让这两个字符相等2//dp[n][m]以n-1结尾的字符串变成节点为m-1为子序列的最大个数3//4//求......
  • 代码随想录算法训练营第四十一天| 1143.最长公共子序列 1035.不相交的线 53. 最大
    1143.最长公共子序列  要求:可以跳过,找出来最长符合的节点难点:如何跳过了之后仍然保留之前的值思路:如果不符,并不是dp[i-1][j-2]等于之前的值,而是dp[i][j]等于它的相关节点以上很重要代码:1//要求:两个子数组,可以删减跳过,找出最长的长度2//思路:dp[n][m]代表第......
  • C#委托和事件简单复习
    C#委托太久没用了,简单的复习一下快速过一遍语法使用使用委托的步骤1.定义一个委托类型只需要在声明的前面加上delegate关键字,其他的就跟声明一个方法(函数)类似publicdelegatevoidSayHello(stringname);2.使用刚刚声明的委托需要定义一个返回值跟参数与我们刚刚定义的......
  • 笔记:KMP的复习
    Record一个重要的字符串算法,这是第三次复习。通过总结我认为之所以某个算法总是忘记,是因为大脑始终没有认可这种算法的逻辑(也就是脑回路)。本篇主要讲解从KMP的应用场景,再到算法知识,以及例题。Main现有两个字符串\(A,B\),求出\(A\)在\(B\)中出现的次数。范围:字符串长度......
  • 代码随想录算法训练营第五天|力扣242.有效的字母异位词、力扣242.两个数组的交集、力
    哈希表哈希表理论基础哈希表,又称为散列表(HashTable),是根据关键码的值而直接进行访问的数据结构其中,数组就是一张哈希表;表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素哈希表解决的问题:一般哈希表都是用来快速判断一个元素是否出现在集合中哈希函数:把学生的......
  • 代码随想录算法训练营第三天| LeetCode 242.有效的字母异位词 349. 两个数组的交集
    242.有效的字母异位词    卡哥建议: 这道题目,大家可以感受到数组用来做哈希表给我们带来的遍历之处。    题目链接/文章讲解/视频讲解: https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html   做题思路:......
  • 初赛复习
    各种排序算法的比较:运算优先级比较:......
  • [代码随想录]Day05-哈希表 part01
    题目:242.有效的字母异位词思路:很简单,就是看两个字符串每个字母出现的次数是不是相同的。可以用两个数组来比较,也可以用一个数组比较。代码:一个数组funcisAnagram(sstring,tstring)bool{isExist:=[26]int{}//26个字母for_,ch:=ranges{isE......
  • 《信号分析与处理》期末复习题库整理(题目+手写知识点+答案+期末知识点精细)
    文章目录一、傅里叶变换、s域变换、z域变换(待:整理一些常用以及方程变换)傅里叶变换s域变换z域变换二、试卷一、选择题12345678==9==1011121314151617181920==21==22232425262728二、填空题12==3==567891011121314151617三、计算题12345678==10==111213==14====15====16====17==三、......