Loading

摘要: 数组中的最长连续序列 题目:数组中的最长连续子序列 《程序员代码面试指南》第75题 P248 难度:尉★★☆☆ 这题我一上来想到先排序再找最长序列,不过就算使用最快的排序算法,时间复杂度也达到了O(NlogN),不符合题目要求的O(N)。 介绍两种解法: 首先是书中使用哈希表的解法: 生成哈希表ma 阅读全文
posted @ 2022-03-28 20:05 幻梦翱翔 阅读(111) 评论(0) 推荐(0)
摘要: 数字字符串转换为字母组合的种数 题目:数字字符转化为字母组合的种数 《程序员代码面试指南》第71题 P238 难度:尉★★☆☆ 这题不算很难,很快想出来,一个for循环了事,不过有些难理解。 我的思路是,假设数字字符串为“XXX...XXX”,那么“XXX...XXX”转换为字母组合的总数(记为p( 阅读全文
posted @ 2022-03-26 12:02 幻梦翱翔 阅读(192) 评论(0) 推荐(0)
摘要: 最小编辑代价 题目:最小编辑代价 《程序员代码面试指南》第68题 P230 难度:校★★★☆ 同样分为经典动态规划和经典动态规划结合空间压缩两种方法。 经典动态规划方法: 同样建立二维动态规划表,大小为(M+1)×(N+1)的矩阵dp,dp[i][j]的值代表str1[0..i-1]编辑成str2[ 阅读全文
posted @ 2022-03-23 19:47 幻梦翱翔 阅读(50) 评论(0) 推荐(0)
摘要: 最长公共子序列问题 题目:最长公共子序列 《程序员代码面试指南》第65题 P220 难度:尉★★☆☆ 本题是非常经典的动态规划问题,先来介绍求解动态规划表的过程。如果str1的长度为M,str2的长度为N,生成大小为M×N的矩阵dp。dp[i][j]的含义是str1[0..i]与str2[0..j] 阅读全文
posted @ 2022-03-15 16:17 幻梦翱翔 阅读(84) 评论(0) 推荐(0)
摘要: 最长递增子序列 题目:最长递增子序列 《程序员代码面试指南》第62题 P210 难度:校★★★☆ 首先是时间复杂度为O(N2)的方法。 生成长度为N的数组dp,dp表示在以arr[i]这个数结尾的情况下,arr[0..i]中的最大递增子序列长度。 对第一个数arr[0]来说,令dp[0]=1,接下来 阅读全文
posted @ 2022-03-13 16:40 幻梦翱翔 阅读(76) 评论(0) 推荐(0)
摘要: 机器人达到指定位置方法数 题目:机器人达到指定位置方法数 《程序员代码面试指南》第59题 P192 难度:尉★★☆☆ 书上题目顺序安排极不合理,这题应该放在上一题的前面。上一题没做出来,大致看了下解析,对这题有一定启发,很快想出来了。 主要介绍一下本题提出的“用暴力递归解决的方法如何优化成动态规划” 阅读全文
posted @ 2022-03-02 11:16 幻梦翱翔 阅读(64) 评论(0) 推荐(0)
摘要: 矩阵的最小路径和 题目:矩阵的最小路径和 《程序员代码面试指南》第57题 P185 难度:尉★★☆☆ 本题看了迪杰斯特拉算法受到了启发,才想出来了。还是太菜了…… 经典动态规划方法: 简单来说,就是生成和原矩阵一样大小的矩阵dp,dp[i][j]的值表示从(0,0)位置走到(i,j)位置的最小路径和 阅读全文
posted @ 2022-02-25 13:17 幻梦翱翔 阅读(134) 评论(0) 推荐(0)
摘要: 斐波那契数列问题的递归和动态规划 题目:斐波那契数 & 爬楼梯 & 斐波那契数列问题的递归和动态规划3 《程序员代码面试指南》第56题 P179 难度:将★★★★ 这三个问题本质上都是斐波那契数列的问题。 首先是基本的斐波那契数问题。一共有三种解法。 第一种时间复杂度为O(2N),即暴力递归。(也是 阅读全文
posted @ 2022-02-24 17:03 幻梦翱翔 阅读(170) 评论(0) 推荐(0)
摘要: 调整搜索二叉树中的两个错误的节点 题目:找到搜索二叉树中两个错误的节点 《程序员代码面试指南》第41题 P137 难度:尉★★☆☆ (只看原问题,进阶问题难度将,解答不可能看的懂) 如果没有错误节点,那么搜索二叉树的中序遍历的节点值是一直升序的。如果有两个节点位置错了,就一定会出现降序。 出现降序有 阅读全文
posted @ 2022-02-23 10:47 幻梦翱翔 阅读(68) 评论(0) 推荐(0)
摘要: 统计和生成所有不同的二叉树 题目:不同的二叉搜索树 & 不同的二叉搜索树 II 《程序员代码面试指南》第54题 P173 难度:尉★★☆☆ 原问题只是统计二叉树的数量。 首先,如果中序遍历有序且无重复值,则二叉树必为搜索二叉树。 假设num(a)代表a个节点的搜索二叉树有多少种可能。再假设序列为{1 阅读全文
posted @ 2022-02-20 12:13 幻梦翱翔 阅读(47) 评论(0) 推荐(0)