zoukankan      html  css  js  c++  java
  • 剑指offer——变态跳台阶

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

    分析:

    两种方法,第一种比较直观,第二种比较直接。

    第一种:f(1)=1;    f(2)=f(2-1)+f(2-2)=2;    f(3)=f(3-1)+f(3-2)+f(3-3);    f(n) = f(n-1)+f(n-2)+...+f(n-n) = f(0)+f(1)+...+f(n-1);

      因此 f(n-1) = f(0)+f(1)+...+f(n-2);f(n) = f(n-1)+f(n-1) = 2*f(n-1)

    第二种:除了最后一个台阶,剩余的都是可跳可不跳两种情况,因此结果就是 2^(n-1)

    所以代码实现也对应有两种写法:第一种for循环迭代,第二种位移操作<<

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    Java基本概念
    Java基础语法
    Java环境的搭建
    elicpse
    常见编译器EOP
    上传突破学习笔记
    认识ollydbg
    160个Crackerme破解
    python基础(1)
    文件上传
  • 原文地址:https://www.cnblogs.com/tccbj/p/10533717.html
Copyright © 2011-2022 走看看