JS面试题---关于算法台阶的问题


Posted in Javascript onJuly 26, 2016

有100格台阶,可以跨1步可以跨2步,那么一个有多少种走法;

今天电话面试。遇到一道算法问题,然后瞬间一脸懵逼;

然后机智的我,自作聪明的想到如果一个人每次都走1步,那么最多100步,每次走2步最少50步;然后明显跑题了。。。还好对方及时把我打断了。。。不然我估计要对着这玩意一直死脑经。。。一路走到黑。。

然后回到家了。拿着偶的mac,然后静静的思考,终于写出来了

var Stairs = new step();
function step(){
  this.n1=1;
  this.n2=2;
  this.total=100;
  this.getFunction = getFunction;
}
function getFunction(){
    for(i=2;i<this.total;i++){
      res = this.n1 + this.n2;
      this.n1 = this.n2;
      this.n2 = res;
    }
  return res;
}
var totalStairs = Stairs.getFunction();
alert(totalStairs)

只有1格的时候。只能走1步。。。。就1种

只有2格的时候,可以1+1||2.。。。2

3格的时候,1+1+1||2+1||1+2.。。3

4格的时候1+1+1+1||2+2||2+1+1||1+1+2||1+2+1。。。5

sn = s(n-1)+s(n-2)

斐波那契算法...然后就可以用

for(i=2;i<this.total;i++){
   res = this.n1 + this.n2;
   this.n1 = this.n2;
   this.n2 = res;
}

可能本人对算法不是特别在行~如果有异议欢迎指正

以上就是小编为大家带来的JS面试题---关于算法台阶的问题全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
一个js的tab切换效果代码[代码分离]
Apr 11 Javascript
!DOCTYPE声明对JavaScript的影响分析
Apr 12 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
使用jQuery动态加载js脚本文件的方法
Apr 03 Javascript
jquery实现翻动fadeIn显示的方法
Mar 05 Javascript
AngularJS 实现按需异步加载实例代码
Oct 18 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
Dec 15 Javascript
javascript和jquery实现用户登录验证
May 04 Javascript
浅谈JavaScript的函数及作用域
Dec 30 Javascript
js实现简单的贪吃蛇游戏
Apr 23 Javascript
Element Popover 弹出框的使用示例
Jul 26 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 #Javascript
jQuery仿京东商城楼梯式导航定位菜单
Jul 25 #Javascript
又一枚精彩的弹幕效果jQuery实现
Jul 25 #Javascript
EasyUI加载完Html内容样式渲染完成后显示
Jul 25 #Javascript
前端微信支付js代码
Jul 25 #Javascript
javascript与jquery动态创建html元素示例
Jul 25 #Javascript
jquery siblings获取同辈元素用法实例分析
Jul 25 #Javascript
You might like
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
php类常量用法实例分析
2015/07/09 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
js实现身份证号码验证的简单实例
2014/02/19 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
Python yield 小结和实例
2014/04/25 Python
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
Python实现多属性排序的方法
2018/12/05 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
python 贪心算法的实现
2020/09/18 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
JAVA软件工程师测试题
2014/07/25 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
医院辞职信范文
2014/01/17 职场文书
学校十一活动方案
2014/02/01 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
班主任寄语2016
2015/12/04 职场文书
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL