![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题----递归和动态规划
Beat_IT_W
这个作者很懒,什么都没留下…
展开
-
暴力递归转动态规划----以货币数问题展开
接着上道题,这道题也是用来感受暴力递归优化成动态规划的套路。先想暴力尝试的方法,然后优化成动态规划。首先是原问题的暴力尝试方法。只有想出尝试方法是最难、最重要的。 我们首先来看一下题目: 给你一个数组arr,arr中所有的值都为正数且不重复,和一个整数aim。如果可以任意选择arr中的数字,每个数字只能选一次,能不能累加得到aim,返回true或者false。 思路类似字符串的子序列问题:令...原创 2019-07-13 11:35:56 · 176 阅读 · 0 评论 -
暴力递归转动态规划----以矩阵最小路径和问题展开
暴力递归 1、把问题转化为规模缩小了的同类问题的子问题 2、有明确的不需要继续进行递归的终止条件 3、有当得到了子问题的结果之后的决策过程 4、不需要记录每一个子问题的解 动态规划 1、从暴力递归中来 2、将每一个子问题的解记录下来,避免重复计算(这是动态规划优于递归的本质原因) 3、把暴力递归的过程,抽象成了状态表达 4、并且存在化简状态表达,使其更加简洁的可能 示例题目: 给你一个二维数...转载 2019-07-12 21:33:43 · 189 阅读 · 0 评论 -
母牛问题
题目: 母牛每年生一只母牛,新出生的母牛成长三年后也能每年生一只母牛,假设不会死。第一年农场有一只成熟的母牛,从第二年开始,母牛开始生小母牛,求N年后,母牛的数量。 通过列举前几年的母牛数量,可以发现规律:前三年,母牛数量分别是1,2,3,从第四年开始,满足F(N) = F(N-1) + F(N-3)。其中 F(N)表示今年母牛的数量,F(N-1)表示去年母牛的数量,F(N-3)表示三年前新...原创 2019-07-12 16:40:49 · 1934 阅读 · 0 评论 -
活动安排问题
题目: 一些项目要占用一个会议室宣讲, 会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间(给你一个数组, 里面是一个个具体的项目), 你来安排宣讲的日程, 要求会议室进行的宣讲的场次最多。 返回这个最多的宣讲场次。 分析: 很明显采用贪心策略最好解决,但是以什么关键点来贪心呢? 如果以开始时间早来贪心 反例: 如果以持续时间短来贪心 反例: 最...原创 2019-07-11 20:51:58 · 490 阅读 · 0 评论