zoukankan      html  css  js  c++  java
  • JavaScript算法系列之-----------------跳台阶(JS实现)

    题目描述

    一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
     
    思路:
    (1)跳一级台阶 : 
                                        1             一种
    (2)跳二级台阶 :   
                                        11/2        两种
    (3)跳三级台阶 :   
                                        先跳一级还有两级台阶同情况(2)  记作=>    1 (2)
                                        先跳两级还有一级台阶同情况(1)  记作=>    2 (1)
                                        把这两种情况加起来就是跳三级台阶的一共可能
                                        (2)+(1)
    (4)跳四级台阶 :   
                                        先跳一级还有三级台阶同情况(3)  记作=>    1 (3)
                                        先跳两级还有两级台阶同情况(2)  记作=>    2 (2)
                                        把这两种情况加起来就是跳四级台阶的一共可能
                                        (3)+(2)
    (5)跳五级台阶 :   
                                        先跳一级还有四级台阶同情况(4)  记作=>    1 (4)
                                        先跳两级还有三级台阶同情况(3)  记作=>    2 (3)
                                        把这两种情况加起来就是跳五级台阶的一共可能
                                        (4)+(3)
     
    ...
     
    以此类推
     
    是不是感觉很眼熟,像不像斐波那契数列
    所以可以用递归循环实现
     
    递归代码如下:
    function jumpFloor(number)
    {
        if(number === 1){
            return 1
        }
        if(number === 2){
            return 2
        }
        if(number > 2){
            return jumpFloor(number-1)+jumpFloor(number-2)
        }
    }
    

    循环的自行实现或去斐波那契数列那章看吧

     
     
                                        
                                       
     
  • 相关阅读:
    下拉复选框
    tp mysql 去重
    前端面试准备2----Javascript中的Undefined和null小结
    前端面试准备1----JS中eval()解析和为什么不要使用eval
    点击一个按钮触发文件选择
    解决JS在url中传递参数时参数包含中文乱码的问题
    asp.net文件/大文件上传需要配置的项目整理
    网页元素位置、鼠标事件位置信息小结
    DOM事件总结
    学习require.js中的一些总结
  • 原文地址:https://www.cnblogs.com/manru75/p/10448575.html
Copyright © 2011-2022 走看看