算法
振丿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 · 440 阅读 · 0 评论 -
字符串的全排列
字符串的全排列 简介 给定字符串S[0…N-1],设计算法,枚举S的全排列。 问题分析 递归算法 以字符串1234为例: 1-234 2-134 3-124 4-123 为了保证不遗漏,要保证递归前1234的顺序不变 代码实现 public void print(char[] str, int left, int right) { if (left == right) { ...原创 2020-04-02 15:51:33 · 164 阅读 · 0 评论 -
最长公共子序列
文章目录最长公共子序列简介暴力求解:穷举法动态规划LCS的记号LCS解法探索LCS分析总结算法中的数据结构:长度数组实例代码实现最长公共子序列多解性,求所有的LCSLCS的应用:最长递增子序列LIS使用LCS接LIS问题LCS的应用:字符串编辑距离LCS的应用:字符串编辑距离 最长公共子序列 简介 最长公共子序列 即Longest Common Subsequence, LCS 一个序列S任意删...原创 2020-03-31 17:24:33 · 365 阅读 · 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 < n i ≤\leq≤ j < n i,i+1,……,j-1,j的最大长度为n 因此:时间复杂度O(n3n^3n3) Code...原创 2020-03-23 16:01:55 · 281 阅读 · 0 评论