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)
        }
    }
    

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

     
     
                                        
                                       
     
  • 相关阅读:
    JavaScript + Table 系列:排序
    asp.net 2.0中傻瓜式使用soap header
    Linq To Sql进阶系列(七)动态查询续及CLR与SQL在某些细节上的差别
    asp.net 2.0 导出DataTable到Excel中
    ASP.NET实用技巧(一)
    【ASP.NET】基础补习之FileUpload
    ASP.NET AJAX入门系列(8):自定义异常处理
    Linq To Sql进阶系列(五)Store Procedure篇
    Linq To Sql进阶系列(六)用object的动态查询与保存log篇
    深究“通过样式表实现固定表头和列”
  • 原文地址:https://www.cnblogs.com/manru75/p/10448575.html
Copyright © 2011-2022 走看看