![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 69
一些常见算法和面试题
BugBugcreator
这个作者很懒,什么都没留下…
展开
-
字符串移位算法总结
字符串移位算法总结暴力遍历法空间换时间法库函数复制法取余法求逆交换法题目如下:把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。详情请见力扣:左旋转字符串以下的代码均以在力扣AC暴力遍历法这种应该是最容易想到的方法了,要将前n位字符移位就整体向前移位n次,每次整体移位的时候都将此时的首字符移到字符尾。(n^2去世)char* reverseLeftWords(原创 2021-01-02 13:51:32 · 1978 阅读 · 4 评论 -
基本kmp、加强kmp、扩展kmp、原理及其代码实现
目录一、实现原理二、基本kmp1、next数组2、全部代码实现三、加强版kmp1、 为什么会有加强版??nextval数组及完整代码四、 扩展版kmp扩展版kmp的用处实现思路代码实现一、实现原理例如有母串s[100] = {“abcababcab…”},有子串t[6] = {“abcabx”}。前5 个子串与母串都是相等的,当比较进行到第六位时,子串与母串不相等。常规的思路是让子串对齐母串的第二位再进行遍历。BUT,聪明的克努特、莫里斯、普拉特采用了一种很聪明的算法,使得时间复杂度远远下降,实原创 2020-12-08 19:25:09 · 511 阅读 · 6 评论