Dynamic Programming I
解决方法:
DFS: Traverse
DFS: Divide Conquer
Divide Conquer + Memorization
Traditional Dynamic Programming
多重循环vs记忆化搜索
动态规划可以使用多重循环与递归的方式实现,但是多重循环比较容易理解。
自底向上vs自顶向下
两种方法没有太大优劣区别思维模式一个正向,一个逆向
满足下面三个条件之一:
● 求最大值最小值
● 判断是否可行
● 统计方案个数
动态规划的四点要素
状态State
灵感,创造力,存储小规模问题的结果
方程Function
状态之间的联系,怎么通过小的状态,来算大的状态
初始化Initialization
最极限的小状态是什么,起点
答案Answer
最大的那个状态是什么,终点
面试中常见的动态规划类型
坐标型动态规划15%
序列型动态规划30%
双序列动态规划30%
划分型动态规划10%
背包型动态规划10%
区间型动态规划5%
Last updated
Was this helpful?