##滚动数组的使用

平时我们做题时一般是使用一个和原问题规模大小的数组来存储中间的结果值,但是,如果我们仔细看递推公式可以发现,有时我们是可以降低dp数组的的大小的。比如一些问题我们需要申明m*n大小的数组,但是我们可以重复使用一个大小为n的数组来解决问题。

比如:Unique Paths,House Robber

##局部最优和全局最优问题

有些问题我们不能通过dp[i]来求问题的全局最优解,dp[i]有时存储的是问题的局部最优解。这时,我们就可以使用一个全局最优解的变量来存储全局最优解。
比如:Maximum Product Subarray,Maximum Subarray

##一些比较难的题

Dungeon Game