博客
关于我
剑指offer[9]——变态跳台阶
阅读量:562 次
发布时间:2019-03-10

本文共 460 字,大约阅读时间需要 1 分钟。

题目描述

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

这个题目是跳台阶的进阶版,其实跟大家分析一下,这道题其实比上一道题简单。在这道题目中,青蛙可以随意一次性跳n级台阶,也就是说如果青蛙想我先枚举一下前几级台阶的跳法数量:

第一级台阶:1=1(直接从平面跳过来)

第二级台阶:1+1=2(从平面跳过来或从第一级跳过来)

第三级台阶:1+2+1=4(从平面跳过来或从第一级或从第二级跳过来)

第四级台阶:1+2+4+1=8

第五级台阶:1+2+4+8+1=16

第六级台阶:1+2+4+8+16+1=32

第七级台阶:1+2+4+8+16+32+1=64

大家观察规律可以看出来下一级台阶的方法数量是前一级台阶的两倍,正好是2的次方:

\[jumpFloorII[n] = 2^{n-1}\]

所以我们就可以很简单的写出算法:

function jumpFloorII(number){    return Math.pow(2, number-1);}

转载地址:http://xxwvz.baihongyu.com/

你可能感兴趣的文章
git拉取远程指定分支代码
查看>>
CentOS5 Linux编译PHP 报 mysql configure failed 错误解决办法
查看>>
《web安全入门》(四)前端开发基础Javascript
查看>>
pycharm新建文件夹时新建python package和新建directory有什么区别?
查看>>
python中列表 元组 字典 集合的区别
查看>>
python struct 官方文档
查看>>
Android DEX加固方案与原理
查看>>
Android Retrofit2.0 上传单张图片和多张图片
查看>>
iOS_Runtime3_动态添加方法
查看>>
Leetcode第557题---翻转字符串中的单词
查看>>
Problem G. The Stones Game【取石子博弈 & 思维】
查看>>
Unable to execute dex: Multiple dex files
查看>>
Java多线程
查看>>
Unity监听日记
查看>>
AndroidStudio跳到错误位置
查看>>
木马开发的基本理论基础(五)
查看>>
openssl服务器证书操作
查看>>
expect 模拟交互 ftp 上传文件到指定目录下
查看>>
linux系统下双屏显示
查看>>
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
查看>>