力扣70
动态规划经典题,没有之一
还是那三句话
- 定义动态规划数组的含义
- 找出关系式
- 找初始值
因为此题实在简单,直接给出java代码
1 | public int climbStairs(int n) { |
本来此题如此简单,不值得记录,但是!!重点来了,字节跳动2020秋招9月笔试题
多了一个条件:不能连续跳两步
好家伙,早就听说字节喜欢考原题,妙啊真是妙蛙种子吃着妙脆角进了米奇妙妙屋—妙到家了
发现自己真的是知其然不知其所以然,看知乎的数学推导:
代码就不贴了,没什么了,把上面的dp递推关系式改一下dp[i] = dp[i - 3] + dp[i - 1];
,初始条件手算一下,就可以了,关键是思维和数学推导
其他动态规划的题目可以点击这里