荣誉版主
- 积分
- -2403
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2010-5-4
- 最后登录
- 1970-1-1
|
19# Jawley
Q2:记录波峰波谷到一个数组: 比如1,-1,3,4,-2,3,0....
f(1)读到第一个上升区间为止,比如1,-1,3 : 记录最低点-1,最大差3-(-1) = 4
f(2)读到第二个,读入-2,3, 因为-2<-1,最低点更新为-2。 这样新增的可能最大差为3-(-2) = 5
又因为5>4所以最大差为5, 在1,-1,3,4,-2,3之前最佳买入点为-2最佳抛售点为3.
这就是f(n)和f(n-1)的递推关系。
DP完全没必要,一个for循环搞定。DP的存在意义是避免递归实现而产生的重复计算,比如斐波纳妾数列或最小编辑距离。 |
|