leecode刷题总结--动态规划

1

leecode刷题总结--动态规划_第1张图片
leecode刷题总结--动态规划_第2张图片
leecode刷题总结--动态规划_第3张图片

关键是知道第i个与第i-1之间的关系。用i=0的两种可能,得到i=1的两种可能,依次递推,一直到n的两种可能,在取两个可能的最大值。

2

leecode刷题总结--动态规划_第4张图片
要上一个,还是自立门户 贪心。

3

leecode刷题总结--动态规划_第5张图片
直接递归方法会超时,开一个数组存放。

4

leecode刷题总结--动态规划_第6张图片
leecode刷题总结--动态规划_第7张图片
缓存,使用Pair.creat(i,j)存储进hashmap;

5

leecode刷题总结--动态规划_第8张图片
在这里插入图片描述
到达i则只能从i-1,或者i-2过来。分别加上i-1,i-2的值取最小。

6

leecode刷题总结--动态规划_第9张图片
暂存更新一个最小值。
leecode刷题总结--动态规划_第10张图片
就两种可能持股不持股,i和i-1的关系是,如果i要继续持股,则为max(i-1持股,i-1不持股-i的股价),如果i不持股则i-1有不持股和持股两种可能,为max(i-1的股份卖出,继续不持股)。

7

leecode刷题总结--动态规划_第11张图片

你可能感兴趣的:(动态规划,算法,java)