Day9 剑指offer:青蛙还跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

public class Solution {
    public int JumpFloorII(int target) {
        return 1<<(target-1);
    }
}

可以求出通项公式:2^(target-1)

  • 方法1:
    target = 1; return 1;
    target = 2;return 2;
    target = 3; 如果跳上第一级台阶,剩下还有两级台阶 target = 2 种跳法;如果不跳上第一级台阶,需要从地上跳第二三级台阶,还是 target = 2 种跳法; return 2*(target=2);
    target = 4; 如果跳上第一级台阶,剩下还有三级台阶 target = 3 种跳法;如果不跳上第一级台阶,需要从地上跳第二三四级台阶,还是 target = 4 种跳法; return 2*(target=3);···
  • 方法2:
    对于1~target-1级台阶,可跳可不跳,target台阶必须跳,所以2^(target-1)种情况。
  • 方法3:
    target = 0; return 1;
    target = 1; return 1;
    target = 2; return 从0-2一步和从1-2一步;2
    target = 3; return 从0-3一步,从1-3一步,从2-3一步;4
    target = 4;1 1 2 4 = 8;
    target = 5;1 1 2 4 8 = 16;···
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,767评论 0 33
  • 1.二维数组中查找2.替换空格3.从尾到头打印链表4.重建二叉树5.用两个栈实现队列6.旋转数组的最小数字7.斐波...
    icecrea阅读 333评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,853评论 18 139
  • 刷题啦刷题啦,剑指offer好像比较有名,所以就在牛客网上刷这个吧~btw,刷了一些题发现编程之美的题好典型啊!!...
    Cracks_Yi阅读 431评论 0 1
  • 最近在准备一些暑期实习的笔试和面试,在牛客网上面做了一些题,现在整理出来供大家参考,希望和大家共同学习!题目不难,...
    Torang阅读 2,412评论 3 11