代码随想录第九天
创始人
2024-04-25 11:39:26

专题:字符串

题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。

比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

题目解析: 我们可以采用,0到i 个翻转,然后 i到n 翻转,再实现,0到n的翻转。这样就实现了,字符串前i个元素的左旋转。

代码实现: 

还可以采用方法,就是 新创建一个字符串,然后将旧字符串的前0到i个字符,放到新字符串的后面,把就字符串的i到n个字符串,放到新字符串的前面。

代码实现:

 题目二实现strstr()

实现 strStr() 函数。

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。

示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2

示例 2: 输入: haystack = "aaaaa", needle = "bba" 输出: -1

题目解析:利用字符串就能得到 这个字符串的前缀表next数组,然后再进行文本 和 字符串 匹配 的过程中,一旦发现字符串元素和文本的元素不匹配,此时在next数组里面查找,字符串此时应该回退到那个位置,而不像暴力法一样,要重头开始匹配。KMP更节省时间。

KMP的解析:    

只需要字符串就可以拿到这个字符串对应的前缀表,即next数组。前缀表里面保存的就是,当前位置前面所有元素的相同前后缀最大长度数。像上面的next:010120.表示的就是,在第一个元素时,此时字符串的最长相等前后缀数就是0,在第二个位置时,此时字符串的最长相等前后缀就是1.在第三个位置时,此时字符串的最长相等前后缀就是0.在第四个位置时,此时字符串的最长相等前后缀就是1.在第五个位置时,此时字符串的最长相等前后缀就是2.在第六个位置时,此时字符串的最长相等前后缀就是0.

 此时就已经拿到了这个字符串的前缀表,即next数组。

然后进行字符串和 文本的匹配过程,一旦不匹配的时候,就去查这个字符串的前缀表,即next数组,看此时应该回退到字符串的那个位置。

 题目三:重复的子字符串

给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。

示例 1:
输入: "abab"
输出: True
解释: 可由子字符串 "ab" 重复两次构成

 题目解析:也使用到了KMP算法。其实也不难吧。原理清楚也不难。

使用移动匹配法,它是一种解决问题很好的算法。find()的底层实现,算法时间复杂度(m+n)

算法思想简单,如果这个字符串是由小字符串构造出来的,那么2个原来的大字符串拼接在一起,让s1小字符串的后半部分 和 s2小字符串的前半部分,重新组成一个新的小字符串。然后在新的字符串里面查找,查到的话就说明它是。

 

 使用KMP算法:

 

 

相关内容

热门资讯

tag是什么意思 tab是什么... 一、B端基础控件的认识控件一词,直译的话可以翻译成 “用来控制的元件”,是我们对 B 端系统进行信息...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
舌头对应五脏图 舌诊顺口溜 舌诊是非常重要的一门中医技术;更妙的是,舌诊适合普通人学习。因此从今天开始,会给大家简单介绍一些看舌...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...