题目:

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

考点:

递归和循环

分析:

台阶数 跳法
1 1
2 2
3 4
4 8
5 16
6 32
7 64
8 128
... ...

归纳:f(n)=2*f(n-1);

代码实现:

function jumpFloorII(n)
{
// write code here
var fb = [1, 2];
for (var i = 2; i <= n; i++) {
fb.push(fb[i - 1]*2);
}
// console.log(fb[n])
return fb[n-1];
}

有大佬想到的另一种思路:

因为跳法1,2,4,8,16,32....即2^(n-1)

利用1左移来求数

左移位数 左移 结果
1<<0 0000 0001 1
1<<1 0000 0010 2
1<<2 0000 0100 4
1<<3 0000 1000 8
1<<(--n) ... 2^(n-1)

代码实现:

function Fibonacci(n) {
return 1<<(--n);
}

最新文章

  1. Python3 登陆网页并保持cookie
  2. linux系统内核流转浅析
  3. Samba快速配置
  4. 记STM32F030多通道ADC DMA读取乱序问题
  5. 【python游戏编程之旅】第九篇---嗷大喵快跑小游戏开发实例
  6. jQuery和JS原生方法对比
  7. 【javascript基础】3、变量和作用域
  8. sizeof 和 strlen 的区别
  9. Highcharts axja 获取json对象动态生成报表生成
  10. tachyon 集群容错
  11. c++ 虚继承与继承的差异 (转)
  12. WCF与WebService之间的异同
  13. forEach嵌套循环的问题
  14. 第一个Servlet程序及分析
  15. java udp socket(双通信)
  16. 一键git push脚本(python版)
  17. Centos 6.5配置rsync+inotify实现文件实时同步
  18. Spring-Data-Redis 下实现jedis连接断开后自动重连
  19. BZOJ3105:[CQOI2013]新Nim游戏(线性基,贪心)
  20. Linux下编译安装nginx并且监控

热门文章

  1. 【牛客网-剑指offer】矩形覆盖
  2. sqlalchemy防sql注入
  3. Linux将动态IP改为静态IP
  4. Linux系统入门---开机启动流程
  5. ida吧
  6. [FILE API]利用Javascript上传图片
  7. 【Flutter学习】事件处理与通知之事件处理
  8. TextView详解
  9. What is the difference between UserControl, WebControl, RenderedControl and CompositeControl?
  10. elementUI中input输入框,强制输入数字,并限制输入长度