【数据结构和算法】跳台阶扩展问题

跳台阶扩展问题

http://www.nowcoder.com/practice/953b74ca5c4d44bb91f39ac4ddea0fee

解法一

这里的青蛙比前面两道题的青蛙更厉害一些,他一次可以跳1阶,2阶,3……。所以要想跳到第n个台阶,我们可以从第1个台阶跳上来,也可以从第2个台阶跳上来……,所以递推公式是

f(n)=f(n-1)+f(n-2)+……+f(2)+f(1);


同样如果我们想跳到第n-1个台阶,也可以列出下面这个公式

f(n-1)=f(n-2)+……+f(2)+f(1);


通过这两个公式我们可以得出

f(n)=2*f(n-1)

实际上他是个等比数列,base casen等于1的时候结果为1,来看下代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt() - 1;
        System.out.println(1 << num);
    }
}
数据结构和算法 文章被收录于专栏

专注于算法题的讲解,包含常见数据结构,排序,查找,动态规划,回溯算法,贪心算法,双指针,BFS和DFS等等。

全部评论
公式写错了
1 回复 分享
发布于 2022-03-21 20:34

相关推荐

不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
评论
22
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务