摘要: 题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 思路 对于 阅读全文
posted @ 2018-12-03 22:24 夏末秋涼 阅读(600) 评论(0) 推荐(0) 编辑
摘要: hashcode相等两个类一定相等吗?equals呢?相反呢? 介绍一下集合框架? hashmap hastable 底层实现什么区别?hashtable和concurrenthashtable呢? hashmap和treemap什么区别?低层数据结构是什么? 线程池用过吗都有什么参数?底层如何实现 阅读全文
posted @ 2018-12-03 21:27 夏末秋涼 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 题目描述:给定一个字符串,计算出将该字符串切分成若干个回文子串所需的最少切分次数 思路:使用动态规划,每一次DP,从i向右扫描,每找到一个回文串就算一次DP的话,就可以转换为f[i]在区间[i,n-1]之间最小的切分数量。 状态转移方程:f(i) = min{f(j+1)+1,f(j)}; 判断是否 阅读全文
posted @ 2018-12-03 20:54 夏末秋涼 阅读(2329) 评论(0) 推荐(0) 编辑
摘要: 最大连续子数组问题 参见https://www.kancloud.cn/wizardforcel/the-art-of-programming-by-july/97234描述的最大子序列之积问题 题目描述:给定一个数组,比如int[] arr = {-2, -1, -3, 4, -1, 2, 1, 阅读全文
posted @ 2018-12-02 19:00 夏末秋涼 阅读(1055) 评论(0) 推荐(0) 编辑
摘要: (1)题目描述如图所示 (2)我们用上述矩阵分析:自顶向下分析入下图二维矩阵所示 (3)我们从arr[2][0]开始分析,arr[2][0]是计算当前位置按照题中要求(每一条路径只能往下或者右下走),可以得到arr[3][0]>arr[3][1],所以arr[2][0]值更新为arr[3][0]+a 阅读全文
posted @ 2018-12-02 15:48 夏末秋涼 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 问题一:求一个字符串的最大回文字符串长度; 1)思路:动态规划; 2)具体描述:设立一个长度len为字符串str,用一个dp[len][len]的二维数组来表示字符串i-j下标所构成的子串的长度,经过循环计算之后我们返回最大回文子串的长度即可,即返回dp[0][len-1]; 3)dp数组的具体实现 阅读全文
posted @ 2018-12-01 01:12 夏末秋涼 阅读(2499) 评论(1) 推荐(0) 编辑
摘要: 问题一:给定一个字符串,在字符串末尾添加字符,使得新字符串位回文字符串,求解需要添加的最少字符个数,并给出添加后构成的回文 思路:将原字符串str1逆序构成另一个字符串str2,然后求出原字符串和逆序串的最大公共子序列的长度,用原字符串的长度减去最大公共子序列的长度就是需要添加的字符个数min;求出 阅读全文
posted @ 2018-11-30 23:24 夏末秋涼 阅读(2257) 评论(0) 推荐(0) 编辑
摘要: 最优二叉搜索树 (1)二叉搜索树 (二分检索树)二叉搜索树T是一棵二元树,它或者为空,或者其每个结点含有一个可以比较大小的数据元素,且有: a·T的左子树的所有元素比根结点中的元素小; b·T的右子树的所有元素比根结点中的元素大; c·T的左子树和右子树也是二叉搜索树。 (2)最优二叉搜索树 给定一 阅读全文
posted @ 2018-11-30 22:06 夏末秋涼 阅读(3303) 评论(0) 推荐(1) 编辑
摘要: 一、设计最短路径的动态规划算法 <算法导论>中一般将设计动态规划算法归纳为下面几个步骤: 1)分析最优解的结构 2)递归定义最优解的值 3)自底向上计算最优解的值 4)从计算的最优解的值上面构建出最优解 二、最短路径的结构 从最优解的结构开始分析(我们假设没有权值为负的路径),对于图G<V,E>的所 阅读全文
posted @ 2018-11-30 22:04 夏末秋涼 阅读(14350) 评论(1) 推荐(0) 编辑
摘要: 最长公共子序列的定义 (1) 子序列 给定两个序列X=<x 1 ,x 2 ,...,x n >和序列Z=<z 1 ,z 2 ,...,z k >,若存在X的一个严格递增下标序列<i 1 ,i 2 ,...,i k >,使得对所有j=1,2,...,k,有x ij =z j ,则称Z是X的子序列。如: 阅读全文
posted @ 2018-11-30 21:53 夏末秋涼 阅读(505) 评论(0) 推荐(0) 编辑