Java代码实现
public class Solution {
public int JumpFloorII(int target) {
return (int)Math.pow(2,target-1);
}
}
Python代码实现
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
return 2**(number-1)
注意点
自己在纸上推导一下
直达的情况记为d(0)=1
N=1时情况d(1)=d(0)=1
N=2时情况d(2)=d(1)+d(0)=2
N=3时情况d(3)=d(2)+d(1)+d(0)=2*d(2)=4
即可推得上述公式
d(n)=2^(n-1)
牛客网标注的知识点是贪心算法,我感觉不出来贪心算法啥意思?自底向上这种不是动态规划吗?这两种算法理解还是不太深。
本文解析了跳台阶问题的算法实现,通过自底向上的动态规划思路,得出跳到第n级台阶的方法数为2的(n-1)次方。提供了Java和Python的代码示例,探讨了算法背后的数学原理。

159

被折叠的 条评论
为什么被折叠?



