算法
振丿Love
这个作者很懒,什么都没留下…
展开
-
字符串循环左移
文章目录字符串循环左移简介问题分析暴力位移法三次拷贝原地逆置代码实现字符串循环左移简介给定一个字符串S[0…N-1],要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的两个字符’a’,'b’移动到字符串的尾部,得到新字符串"cdefab:即字符串循环左移k。循环左移k位等价于循环右移n-k位。算法要求:时间复杂度为O(n)O(n)O(n)空间复杂度为O(1)O(1...原创 2020-04-02 15:53:55 · 436 阅读 · 0 评论 -
字符串的全排列
字符串的全排列简介给定字符串S[0…N-1],设计算法,枚举S的全排列。问题分析递归算法以字符串1234为例:1-2342-1343-1244-123为了保证不遗漏,要保证递归前1234的顺序不变代码实现public void print(char[] str, int left, int right) { if (left == right) { ...原创 2020-04-02 15:51:33 · 161 阅读 · 0 评论 -
最长公共子序列
文章目录最长公共子序列简介暴力求解:穷举法动态规划LCS的记号LCS解法探索LCS分析总结算法中的数据结构:长度数组实例代码实现最长公共子序列多解性,求所有的LCSLCS的应用:最长递增子序列LIS使用LCS接LIS问题LCS的应用:字符串编辑距离LCS的应用:字符串编辑距离最长公共子序列简介最长公共子序列 即Longest Common Subsequence, LCS一个序列S任意删...原创 2020-03-31 17:24:33 · 362 阅读 · 0 评论 -
最大连续子数组
最大连续子数组给定一个数组A[0,……,n-1],求A的连续子数组,使得该子数组的和最大。例如:数组:1,-2,3,10,-4,7,2,-5最大子数组:3,10,-4,7,2暴力法直接求解A[i,……j]的值0 ≤\leq≤ i < ni ≤\leq≤ j < ni,i+1,……,j-1,j的最大长度为n因此:时间复杂度O(n3n^3n3)Code...原创 2020-03-23 16:01:55 · 279 阅读 · 0 评论