小青蛙跳台阶

103 阅读1分钟
  //递归解法
  function jumpFloor(n) {
      if (n <= 0) return 0
      if (n == 1) return 1
      if (n == 2) return 2
      return jumpFloor(n - 1) + jumpFloor(n - 2)
    }
    

    //
    const jumpFloor2 = (n, type) => {
      var target = 0,
        number1 = 1,
        number2 = 2
      if (n <= 0) return 0
      if (n == 1) return 1
      if (n == 2) return 2
      for (var i = 3; i <= n; ++i) {
        target = number1 + number2
        number1 = number2
        number2 = target
      }
      return target
    })
    
    
    function Fibonacci(n, sum1 = 1, sum2 = 1) {
      if (n <= 1) return sum2
      return Fibonacci(n - 1, sum2, sum1 + sum2)
    }